Kameleon-Plus  0.3.2
cdf.h
Go to the documentation of this file.
1 /******************************************************************************
2 *
3 * NSSDC/CDF CDF Header file for C/C++ applications.
4 *
5 * Version 3.5d, 14-Dec-97, Hughes STX.
6 *
7 * Modification history:
8 *
9 * V1.0 22-Jan-91, R Kulkarni Original version (for CDF V2.0).
10 * J Love
11 * V2.0 3-Jun-91, J Love Modified for CDF V2.1 enhancements,
12 * namely the INTERNAL interface and the
13 * MULTI/SINGLE file option. Added
14 * macros to replace C i/f functions.
15 * V2.1 20-Jun-91, J Love Added function prototypes.
16 * V2.2 8-Aug-91, J Love Increment for CDF V2.1.2. Use
17 * 'CDFlib'. Renamed a few items.
18 * V3.0 19-May-92, J Love IBM PC & HP-UX port. CDF V2.2.
19 * V3.1 23-Sep-92, J Love CDF V2.3 (shareable/NeXT/zVar).
20 * V3.1a 5-Oct-92, J Love CDF V2.3.0a (NeXT/encoding).
21 * V3.1b 6-Oct-92, J Love CDF V2.3.0b (CDFcompare).
22 * V3.1c 27-Oct-92, J Love CDF V2.3.0c (pad values).
23 * V3.2 12-Jan-94, J Love CDF V2.4.
24 * V3.2a 4-Feb-94, J Love DEC Alpha/OpenVMS port.
25 * V3.2b 22-Feb-94, J Love Spelling lesson.
26 * V3.3 8-Dec-94, J Love CDF V2.5.
27 * V3.3a 3-Mar-95, J Love Solaris 2.3 IDL i/f.
28 * V3.4 28-Mar-95, J Love POSIX.
29 * V3.4a 8-May-95, J Love ILLEGAL_EPOCH_VALUE.
30 * V3.4b 9-Jun-95, J Love EPOCH custom format.
31 * V3.4c 20-Jul-95, J Love CDFexport-related changes.
32 * V3.5 12-Sep-96, J Love CDF V2.6.
33 * V3.5a 21-Feb-97, J Love Removed RICE.
34 * V3.5b 9-Mar-97, J Love Windows NT for MS Visual C++ 4.0 on an IBM PC.
35 * V3.5c 2-Sep-97, J Love `__STDC__' not defined for all AIX compilers.
36 * V3.5d 14-Dec-97, J Love Added ALPHAVMSi encoding.
37 * V3.6 08-Apr-04, M Liu Added new data type CDF_EPOCH16 and some
38 * epoch functions related to the new type.
39 * V3.7 28-Apr-09, M Liu Modified MAC_ENCODING/DECODEING to PPC_ENCODING
40 * /DECODING as Mac and Linux can run on PPC box.
41 * V3.8 10-Dec-10, M Liu Added encodeEPOCH4, encodeEPOCH16_4,
42 * parseEPOCH4, parseEPOCH16_4 to handle epochs
43 * conforming to ISO 8601.
44 * V3.9 04-Apr-11, M Liu Added a few new functions for TT2000 epoch.
45 * V3.10 03-Jan-12, M Liu Added CDFgetzVarAllRecordsByVarID,
46 * CDFgetzVarRangeRecordsByVarID,
47 * CDFgetVarAllRecordsByVarName,
48 * CDFgetVarRangeRecordsByVarName functions, and
49 * a set of similar functions for put operations.
50 * Added a new error message.
51 ******************************************************************************/
52 
53 #if !defined(CDFh_INCLUDEd__)
54 #define CDFh_INCLUDEd__
55 
56 /******************************************************************************
57 * CDF defined types
58 ******************************************************************************/
59 
60 typedef void *CDFid;
61 typedef long CDFstatus;
62 
63 /******************************************************************************
64 * CDF defined variables
65 ******************************************************************************/
66 
67 static double *TT2000NULL = 0;
68 
69 /******************************************************************************
70 * Limits
71 ******************************************************************************/
72 
73 #define CDF_MIN_DIMS 0 /* Min number of dimensions a CDF
74  variable may have */
75 #define CDF_MAX_DIMS 10 /* Max number of dimensions a CDF
76  variable may have */
77 
78 /******************************************************************************
79 * Lengths
80 ******************************************************************************/
81 
82 #define CDF_VAR_NAME_LEN 64
83 #define CDF_ATTR_NAME_LEN 64
84 
85 #define CDF_VAR_NAME_LEN256 256
86 #define CDF_ATTR_NAME_LEN256 256
87 
88 #define CDF_COPYRIGHT_LEN 256
89 #define CDF_STATUSTEXT_LEN 120
90 #define CDF_PATHNAME_LEN 512
91 
92 #define EPOCH_STRING_LEN 24
93 #define EPOCH1_STRING_LEN 16
94 #define EPOCH2_STRING_LEN 14
95 #define EPOCH3_STRING_LEN 24
96 #define EPOCH4_STRING_LEN 23
97 
98 #define EPOCH16_STRING_LEN 36
99 #define EPOCH16_1_STRING_LEN 24
100 #define EPOCH16_2_STRING_LEN 14
101 #define EPOCH16_3_STRING_LEN 36
102 #define EPOCH16_4_STRING_LEN 32
103 
104 #define TT2000_0_STRING_LEN 30
105 #define TT2000_1_STRING_LEN 19
106 #define TT2000_2_STRING_LEN 14
107 #define TT2000_3_STRING_LEN 29
108 
109 #define EPOCHx_STRING_MAX 50
110 #define EPOCHx_FORMAT_MAX 68
111 
112 /******************************************************************************
113 * Data types.
114 ******************************************************************************/
115 
116 #define CDF_INT1 1L
117 #define CDF_INT2 2L
118 #define CDF_INT4 4L
119 #define CDF_INT8 8L
120 #define CDF_UINT1 11L
121 #define CDF_UINT2 12L
122 #define CDF_UINT4 14L
123 #define CDF_REAL4 21L
124 #define CDF_REAL8 22L
125 #define CDF_EPOCH 31L /* Standard style. */
126 #define CDF_EPOCH16 32L /* Extended style. */
127 #define CDF_TIME_TT2000 33L /* One more style with leap seconds
128  and J2000 base time. */
129 #define CDF_BYTE 41L /* same as CDF_INT1 (signed) */
130 #define CDF_FLOAT 44L /* same as CDF_REAL4 */
131 #define CDF_DOUBLE 45L /* same as CDF_REAL8 */
132 #define CDF_CHAR 51L /* a "string" data type */
133 #define CDF_UCHAR 52L /* a "string" data type */
134 
135 /******************************************************************************
136 * Encoding (for data only, everything else is network encoding).
137 ******************************************************************************/
138 
139 #define NETWORK_ENCODING 1L
140 #define SUN_ENCODING 2L
141 #define VAX_ENCODING 3L
142 #define DECSTATION_ENCODING 4L
143 #define SGi_ENCODING 5L
144 #define IBMPC_ENCODING 6L
145 #define IBMRS_ENCODING 7L
146 #define HOST_ENCODING 8L
147 #define PPC_ENCODING 9L
148 #define HP_ENCODING 11L
149 #define NeXT_ENCODING 12L
150 #define ALPHAOSF1_ENCODING 13L
151 #define ALPHAVMSd_ENCODING 14L
152 #define ALPHAVMSg_ENCODING 15L
153 #define ALPHAVMSi_ENCODING 16L
154 
155 /******************************************************************************
156 * Decodings.
157 ******************************************************************************/
158 
159 #define NETWORK_DECODING NETWORK_ENCODING
160 #define SUN_DECODING SUN_ENCODING
161 #define VAX_DECODING VAX_ENCODING
162 #define DECSTATION_DECODING DECSTATION_ENCODING
163 #define SGi_DECODING SGi_ENCODING
164 #define IBMPC_DECODING IBMPC_ENCODING
165 #define IBMRS_DECODING IBMRS_ENCODING
166 #define HOST_DECODING HOST_ENCODING
167 #define PPC_DECODING PPC_ENCODING
168 #define MAC_ENCODING PPC_ENCODING
169 #define MAC_DECODING PPC_ENCODING
170 #define HP_DECODING HP_ENCODING
171 #define NeXT_DECODING NeXT_ENCODING
172 #define ALPHAOSF1_DECODING ALPHAOSF1_ENCODING
173 #define ALPHAVMSd_DECODING ALPHAVMSd_ENCODING
174 #define ALPHAVMSg_DECODING ALPHAVMSg_ENCODING
175 #define ALPHAVMSi_DECODING ALPHAVMSi_ENCODING
176 
177 /******************************************************************************
178 * Variance flags
179 ******************************************************************************/
180 
181 #define VARY (-1L) /* TRUE record or dimension variance flag */
182 #define NOVARY 0L /* FALSE record or dimension variance flag */
183 
184 /******************************************************************************
185 * Majorities
186 ******************************************************************************/
187 
188 #define ROW_MAJOR 1L
189 #define COLUMN_MAJOR 2L
190 
191 /******************************************************************************
192 * Formats.
193 ******************************************************************************/
194 
195 #define SINGLE_FILE 1L
196 #define MULTI_FILE 2L
197 
198 /******************************************************************************
199 * Checksum
200 ******************************************************************************/
201 
202 #define NO_CHECKSUM 0L
203 #define MD5_CHECKSUM 1L
204 #define OTHER_CHECKSUM 2L
205 
206 /******************************************************************************
207 * Attribute scopes
208 ******************************************************************************/
209 
210 #define GLOBAL_SCOPE 1L
211 #define VARIABLE_SCOPE 2L
212 
213 /******************************************************************************
214 * Readonly modes.
215 ******************************************************************************/
216 
217 #define READONLYon (-1L)
218 #define READONLYoff 0L
219 
220 /******************************************************************************
221 * Validate data modes.
222 ******************************************************************************/
223 
224 #define VALIDATEFILEon (-1L)
225 #define VALIDATEFILEoff 0L
226 
227 /******************************************************************************
228 * zModes.
229 ******************************************************************************/
230 
231 #define zMODEoff 0L
232 #define zMODEon1 1L
233 #define zMODEon2 2L
234 
235 /******************************************************************************
236 * Negative to positive floating point zero modes.
237 ******************************************************************************/
238 
239 #define NEGtoPOSfp0on (-1L)
240 #define NEGtoPOSfp0off 0L
241 
242 /******************************************************************************
243 * Backward file mode.
244 ******************************************************************************/
245 
246 #define BACKWARDFILEon 1
247 #define BACKWARDFILEoff 0
248 
249 /******************************************************************************
250 * Compression/sparseness constants.
251 ******************************************************************************/
252 
253 #define CDF_MAX_PARMS 5
254 #define NO_COMPRESSION 0L
255 #define RLE_COMPRESSION 1L
256 #define HUFF_COMPRESSION 2L
257 #define AHUFF_COMPRESSION 3L
258 /**************************************************
259 * Compression `4' used to be RICE. Do not reuse! *
260 **************************************************/
261 #define GZIP_COMPRESSION 5L
262 /* #define ZLIB_COMPRESSION 6L */
263 
264 #define RLE_OF_ZEROs 0L
265 #define OPTIMAL_ENCODING_TREES 0L
266 /* #define ZLIB_OF_ZEROs 0L */
267 #define NO_SPARSEARRAYS 0L
268 #define NO_SPARSERECORDS 0L
269 #define PAD_SPARSERECORDS 1L
270 #define PREV_SPARSERECORDS 2L
271 
272 /*****************************************************************************
273 * Invalid/reserved constants.
274 *****************************************************************************/
275 
276 #define RESERVED_CDFID ((CDFid) NULL) /* Indicates that a CDF hasn't
277  been selected yet. */
278 #define RESERVED_CDFSTATUS ((CDFstatus) (-1)) /* Indicates that a CDFstatus
279  hasn't been selected yet. */
280 
281 #define ILLEGAL_EPOCH_VALUE (-1.0)
282 #define ILLEGAL_TT2000_VALUE (-9223372036854775805LL)
283 #define FILLED_TT2000_VALUE (-9223372036854775807LL-1)
284 
285 /******************************************************************************
286 * Status codes (CDFstatus)
287 * - informatory codes are greater than CDF_OK
288 ******************************************************************************/
289 
290 #define VIRTUAL_RECORD_DATA ((CDFstatus) 1001)
291 #define DID_NOT_COMPRESS ((CDFstatus) 1002)
292 #define VAR_ALREADY_CLOSED ((CDFstatus) 1003)
293 #define SINGLE_FILE_FORMAT ((CDFstatus) 1004)
294 #define NO_PADVALUE_SPECIFIED ((CDFstatus) 1005)
295 #define NO_VARS_IN_CDF ((CDFstatus) 1006)
296 #define MULTI_FILE_FORMAT ((CDFstatus) 1007)
297 #define SOME_ALREADY_ALLOCATED ((CDFstatus) 1008)
298 #define PRECEEDING_RECORDS_ALLOCATED ((CDFstatus) 1009)
299 
300 #define CDF_OK ((CDFstatus) 0)
301 
302 #define ATTR_NAME_TRUNC ((CDFstatus) (-1001))
303 #define CDF_NAME_TRUNC ((CDFstatus) (-1002))
304 #define VAR_NAME_TRUNC ((CDFstatus) (-1003))
305 #define NEGATIVE_FP_ZERO ((CDFstatus) (-1004))
306  /* -1005 unused. */
307 #define FORCED_PARAMETER ((CDFstatus) (-1006))
308 #define NA_FOR_VARIABLE ((CDFstatus) (-1007))
309 
310 #define CDF_WARN ((CDFstatus) (-2000))
311 
312 #define ATTR_EXISTS ((CDFstatus) (-2001))
313 #define BAD_CDF_ID ((CDFstatus) (-2002))
314 #define BAD_DATA_TYPE ((CDFstatus) (-2003))
315 #define BAD_DIM_SIZE ((CDFstatus) (-2004))
316 #define BAD_DIM_INDEX ((CDFstatus) (-2005))
317 #define BAD_ENCODING ((CDFstatus) (-2006))
318 #define BAD_MAJORITY ((CDFstatus) (-2007))
319 #define BAD_NUM_DIMS ((CDFstatus) (-2008))
320 #define BAD_REC_NUM ((CDFstatus) (-2009))
321 #define BAD_SCOPE ((CDFstatus) (-2010))
322 #define BAD_NUM_ELEMS ((CDFstatus) (-2011))
323 #define CDF_OPEN_ERROR ((CDFstatus) (-2012))
324 #define CDF_EXISTS ((CDFstatus) (-2013))
325 #define BAD_FORMAT ((CDFstatus) (-2014))
326 #define BAD_ALLOCATE_RECS ((CDFstatus) (-2015))
327 #define BAD_CDF_EXTENSION ((CDFstatus) (-2016))
328 #define NO_SUCH_ATTR ((CDFstatus) (-2017))
329 #define NO_SUCH_ENTRY ((CDFstatus) (-2018))
330 #define NO_SUCH_VAR ((CDFstatus) (-2019))
331 #define VAR_READ_ERROR ((CDFstatus) (-2020))
332 #define VAR_WRITE_ERROR ((CDFstatus) (-2021))
333 #define BAD_ARGUMENT ((CDFstatus) (-2022))
334 #define IBM_PC_OVERFLOW ((CDFstatus) (-2023))
335 #define TOO_MANY_VARS ((CDFstatus) (-2024))
336 #define VAR_EXISTS ((CDFstatus) (-2025))
337 #define BAD_MALLOC ((CDFstatus) (-2026))
338 #define NOT_A_CDF ((CDFstatus) (-2027))
339 #define CORRUPTED_V2_CDF ((CDFstatus) (-2028))
340 #define VAR_OPEN_ERROR ((CDFstatus) (-2029))
341 #define BAD_INITIAL_RECS ((CDFstatus) (-2030))
342 #define BAD_BLOCKING_FACTOR ((CDFstatus) (-2031))
343 #define END_OF_VAR ((CDFstatus) (-2032))
344  /* -2033 unused. */
345 #define BAD_CDFSTATUS ((CDFstatus) (-2034))
346 #define CDF_INTERNAL_ERROR ((CDFstatus) (-2035))
347 #define BAD_NUM_VARS ((CDFstatus) (-2036))
348 #define BAD_REC_COUNT ((CDFstatus) (-2037))
349 #define BAD_REC_INTERVAL ((CDFstatus) (-2038))
350 #define BAD_DIM_COUNT ((CDFstatus) (-2039))
351 #define BAD_DIM_INTERVAL ((CDFstatus) (-2040))
352 #define BAD_VAR_NUM ((CDFstatus) (-2041))
353 #define BAD_ATTR_NUM ((CDFstatus) (-2042))
354 #define BAD_ENTRY_NUM ((CDFstatus) (-2043))
355 #define BAD_ATTR_NAME ((CDFstatus) (-2044))
356 #define BAD_VAR_NAME ((CDFstatus) (-2045))
357 #define NO_ATTR_SELECTED ((CDFstatus) (-2046))
358 #define NO_ENTRY_SELECTED ((CDFstatus) (-2047))
359 #define NO_VAR_SELECTED ((CDFstatus) (-2048))
360 #define BAD_CDF_NAME ((CDFstatus) (-2049))
361  /* -2050 unused. */
362 #define CANNOT_CHANGE ((CDFstatus) (-2051))
363 #define NO_STATUS_SELECTED ((CDFstatus) (-2052))
364 #define NO_CDF_SELECTED ((CDFstatus) (-2053))
365 #define READ_ONLY_DISTRIBUTION ((CDFstatus) (-2054))
366 #define CDF_CLOSE_ERROR ((CDFstatus) (-2055))
367 #define VAR_CLOSE_ERROR ((CDFstatus) (-2056))
368  /* -2057 unused. */
369 #define BAD_FNC_OR_ITEM ((CDFstatus) (-2058))
370  /* -2059 unused. */
371 #define ILLEGAL_ON_V1_CDF ((CDFstatus) (-2060))
372  /* -2061 unused. */
373  /* -2062 unused. */
374 #define BAD_CACHE_SIZE ((CDFstatus) (-2063))
375  /* -2064 unused. */
376  /* -2065 unused. */
377 #define CDF_CREATE_ERROR ((CDFstatus) (-2066))
378 #define NO_SUCH_CDF ((CDFstatus) (-2067))
379 #define VAR_CREATE_ERROR ((CDFstatus) (-2068))
380  /* -2069 unused. */
381 #define READ_ONLY_MODE ((CDFstatus) (-2070))
382 #define ILLEGAL_IN_zMODE ((CDFstatus) (-2071))
383 #define BAD_zMODE ((CDFstatus) (-2072))
384 #define BAD_READONLY_MODE ((CDFstatus) (-2073))
385 #define CDF_READ_ERROR ((CDFstatus) (-2074))
386 #define CDF_WRITE_ERROR ((CDFstatus) (-2075))
387 #define ILLEGAL_FOR_SCOPE ((CDFstatus) (-2076))
388 #define NO_MORE_ACCESS ((CDFstatus) (-2077))
389  /* -2078 unused. */
390 #define BAD_DECODING ((CDFstatus) (-2079))
391  /* -2080 unused. */
392 #define BAD_NEGtoPOSfp0_MODE ((CDFstatus) (-2081))
393 #define UNSUPPORTED_OPERATION ((CDFstatus) (-2082))
394 #define CDF_SAVE_ERROR ((CDFstatus) (-2083))
395 #define VAR_SAVE_ERROR ((CDFstatus) (-2084))
396  /* -2085 unused. */
397 #define NO_WRITE_ACCESS ((CDFstatus) (-2086))
398 #define NO_DELETE_ACCESS ((CDFstatus) (-2087))
399 #define CDF_DELETE_ERROR ((CDFstatus) (-2088))
400 #define VAR_DELETE_ERROR ((CDFstatus) (-2089))
401 #define UNKNOWN_COMPRESSION ((CDFstatus) (-2090))
402 #define CANNOT_COMPRESS ((CDFstatus) (-2091))
403 #define DECOMPRESSION_ERROR ((CDFstatus) (-2092))
404 #define COMPRESSION_ERROR ((CDFstatus) (-2093))
405  /* -2094 unused. */
406  /* -2095 unused. */
407 #define EMPTY_COMPRESSED_CDF ((CDFstatus) (-2096))
408 #define BAD_COMPRESSION_PARM ((CDFstatus) (-2097))
409 #define UNKNOWN_SPARSENESS ((CDFstatus) (-2098))
410 #define CANNOT_SPARSERECORDS ((CDFstatus) (-2099))
411 #define CANNOT_SPARSEARRAYS ((CDFstatus) (-2100))
412 #define TOO_MANY_PARMS ((CDFstatus) (-2101))
413 #define NO_SUCH_RECORD ((CDFstatus) (-2102))
414 #define CANNOT_ALLOCATE_RECORDS ((CDFstatus) (-2103))
415  /* -2104 unused. */
416  /* -2105 unused. */
417 #define SCRATCH_DELETE_ERROR ((CDFstatus) (-2106))
418 #define SCRATCH_CREATE_ERROR ((CDFstatus) (-2107))
419 #define SCRATCH_READ_ERROR ((CDFstatus) (-2108))
420 #define SCRATCH_WRITE_ERROR ((CDFstatus) (-2109))
421 #define BAD_SPARSEARRAYS_PARM ((CDFstatus) (-2110))
422 #define BAD_SCRATCH_DIR ((CDFstatus) (-2111))
423 #define NOT_A_CDF_OR_NOT_SUPPORTED ((CDFstatus) (-2113))
424 #define CORRUPTED_V3_CDF ((CDFstatus) (-2223))
425 #define ILLEGAL_EPOCH_FIELD ((CDFstatus) (-2224))
426 #define BAD_CHECKSUM ((CDFstatus) (-2225))
427 #define CHECKSUM_ERROR ((CDFstatus) (-2226))
428 #define CHECKSUM_NOT_ALLOWED ((CDFstatus) (-2227))
429 #define IS_A_NETCDF ((CDFstatus) (-2228))
430 #define TT2000_TIME_ERROR ((CDFstatus) (-2229))
431 #define UNABLE_TO_PROCESS_CDF ((CDFstatus) (-2230))
432 /* #define ZLIB_DECOMPRESSION_ERROR ((CDFstatus) (-2231)) */
433 
434 /******************************************************************************
435 * Functions (for INTERNAL interface).
436 * NOTE: These values must be different from those of the items.
437 ******************************************************************************/
438 
439 #define CREATE_ 1001L
440 #define OPEN_ 1002L
441 #define DELETE_ 1003L
442 #define CLOSE_ 1004L
443 #define SELECT_ 1005L
444 #define CONFIRM_ 1006L
445 #define GET_ 1007L
446 #define PUT_ 1008L
447 
448 #define SAVE_ 1009L
449 #define BACKWARD_ 1010L
450 #define GETCDFFILEBACKWARD_ 1011L
451 #define CHECKSUM_ 1012L
452 #define GETCDFCHECKSUM_ 1013L
453 #define VALIDATE_ 1014L
454 #define GETCDFVALIDATE_ 1015L
455 #define GETLEAPSECONDSENVVAR_ 1016L
456 
457 #define NULL_ 1000L
458 
459 /******************************************************************************
460 * Items on which functions are performed (for INTERNAL interface).
461 * NOTE: These values must be different from those of the functions.
462 ******************************************************************************/
463 
464 #define CDF_ 1L
465 #define CDF_NAME_ 2L
466 #define CDF_ENCODING_ 3L
467 #define CDF_DECODING_ 4L
468 #define CDF_MAJORITY_ 5L
469 #define CDF_FORMAT_ 6L
470 #define CDF_COPYRIGHT_ 7L
471 #define CDF_NUMrVARS_ 8L
472 #define CDF_NUMzVARS_ 9L
473 #define CDF_NUMATTRS_ 10L
474 #define CDF_NUMgATTRS_ 11L
475 #define CDF_NUMvATTRS_ 12L
476 #define CDF_VERSION_ 13L
477 #define CDF_RELEASE_ 14L
478 #define CDF_INCREMENT_ 15L
479 #define CDF_STATUS_ 16L
480 #define CDF_READONLY_MODE_ 17L
481 #define CDF_zMODE_ 18L
482 #define CDF_NEGtoPOSfp0_MODE_ 19L
483 #define LIB_COPYRIGHT_ 20L
484 #define LIB_VERSION_ 21L
485 #define LIB_RELEASE_ 22L
486 #define LIB_INCREMENT_ 23L
487 #define LIB_subINCREMENT_ 24L
488 #define rVARs_NUMDIMS_ 25L
489 #define rVARs_DIMSIZES_ 26L
490 #define rVARs_MAXREC_ 27L
491 #define rVARs_RECDATA_ 28L
492 #define rVARs_RECNUMBER_ 29L
493 #define rVARs_RECCOUNT_ 30L
494 #define rVARs_RECINTERVAL_ 31L
495 #define rVARs_DIMINDICES_ 32L
496 #define rVARs_DIMCOUNTS_ 33L
497 #define rVARs_DIMINTERVALS_ 34L
498 #define rVAR_ 35L
499 #define rVAR_NAME_ 36L
500 #define rVAR_DATATYPE_ 37L
501 #define rVAR_NUMELEMS_ 38L
502 #define rVAR_RECVARY_ 39L
503 #define rVAR_DIMVARYS_ 40L
504 #define rVAR_NUMBER_ 41L
505 #define rVAR_DATA_ 42L
506 #define rVAR_HYPERDATA_ 43L
507 #define rVAR_SEQDATA_ 44L
508 #define rVAR_SEQPOS_ 45L
509 #define rVAR_MAXREC_ 46L
510 #define rVAR_MAXallocREC_ 47L
511 #define rVAR_DATASPEC_ 48L
512 #define rVAR_PADVALUE_ 49L
513 #define rVAR_INITIALRECS_ 50L
514 #define rVAR_BLOCKINGFACTOR_ 51L
515 #define rVAR_nINDEXRECORDS_ 52L
516 #define rVAR_nINDEXENTRIES_ 53L
517 #define rVAR_EXISTENCE_ 54L
518 #define zVARs_MAXREC_ 55L
519 #define zVARs_RECDATA_ 56L
520 #define zVAR_ 57L
521 #define zVAR_NAME_ 58L
522 #define zVAR_DATATYPE_ 59L
523 #define zVAR_NUMELEMS_ 60L
524 #define zVAR_NUMDIMS_ 61L
525 #define zVAR_DIMSIZES_ 62L
526 #define zVAR_RECVARY_ 63L
527 #define zVAR_DIMVARYS_ 64L
528 #define zVAR_NUMBER_ 65L
529 #define zVAR_DATA_ 66L
530 #define zVAR_HYPERDATA_ 67L
531 #define zVAR_SEQDATA_ 68L
532 #define zVAR_SEQPOS_ 69L
533 #define zVAR_MAXREC_ 70L
534 #define zVAR_MAXallocREC_ 71L
535 #define zVAR_DATASPEC_ 72L
536 #define zVAR_PADVALUE_ 73L
537 #define zVAR_INITIALRECS_ 74L
538 #define zVAR_BLOCKINGFACTOR_ 75L
539 #define zVAR_nINDEXRECORDS_ 76L
540 #define zVAR_nINDEXENTRIES_ 77L
541 #define zVAR_EXISTENCE_ 78L
542 #define zVAR_RECNUMBER_ 79L
543 #define zVAR_RECCOUNT_ 80L
544 #define zVAR_RECINTERVAL_ 81L
545 #define zVAR_DIMINDICES_ 82L
546 #define zVAR_DIMCOUNTS_ 83L
547 #define zVAR_DIMINTERVALS_ 84L
548 #define ATTR_ 85L
549 #define ATTR_SCOPE_ 86L
550 #define ATTR_NAME_ 87L
551 #define ATTR_NUMBER_ 88L
552 #define ATTR_MAXgENTRY_ 89L
553 #define ATTR_NUMgENTRIES_ 90L
554 #define ATTR_MAXrENTRY_ 91L
555 #define ATTR_NUMrENTRIES_ 92L
556 #define ATTR_MAXzENTRY_ 93L
557 #define ATTR_NUMzENTRIES_ 94L
558 #define ATTR_EXISTENCE_ 95L
559 #define gENTRY_ 96L
560 #define gENTRY_EXISTENCE_ 97L
561 #define gENTRY_DATATYPE_ 98L
562 #define gENTRY_NUMELEMS_ 99L
563 #define gENTRY_DATASPEC_ 100L
564 #define gENTRY_DATA_ 101L
565 #define rENTRY_ 102L
566 #define rENTRY_NAME_ 103L
567 #define rENTRY_EXISTENCE_ 104L
568 #define rENTRY_DATATYPE_ 105L
569 #define rENTRY_NUMELEMS_ 106L
570 #define rENTRY_DATASPEC_ 107L
571 #define rENTRY_DATA_ 108L
572 #define zENTRY_ 109L
573 #define zENTRY_NAME_ 110L
574 #define zENTRY_EXISTENCE_ 111L
575 #define zENTRY_DATATYPE_ 112L
576 #define zENTRY_NUMELEMS_ 113L
577 #define zENTRY_DATASPEC_ 114L
578 #define zENTRY_DATA_ 115L
579 #define STATUS_TEXT_ 116L
580 #define CDF_CACHESIZE_ 117L
581 #define rVARs_CACHESIZE_ 118L
582 #define zVARs_CACHESIZE_ 119L
583 #define rVAR_CACHESIZE_ 120L
584 #define zVAR_CACHESIZE_ 121L
585 #define zVARs_RECNUMBER_ 122L
586 #define rVAR_ALLOCATERECS_ 123L
587 #define zVAR_ALLOCATERECS_ 124L
588 #define DATATYPE_SIZE_ 125L
589 #define CURgENTRY_EXISTENCE_ 126L
590 #define CURrENTRY_EXISTENCE_ 127L
591 #define CURzENTRY_EXISTENCE_ 128L
592 #define CDF_INFO_ 129L
593 #define CDF_COMPRESSION_ 130L
594 #define zVAR_COMPRESSION_ 131L
595 #define zVAR_SPARSERECORDS_ 132L
596 #define zVAR_SPARSEARRAYS_ 133L
597 #define zVAR_ALLOCATEBLOCK_ 134L
598 #define zVAR_NUMRECS_ 135L
599 #define zVAR_NUMallocRECS_ 136L
600 #define rVAR_COMPRESSION_ 137L
601 #define rVAR_SPARSERECORDS_ 138L
602 #define rVAR_SPARSEARRAYS_ 139L
603 #define rVAR_ALLOCATEBLOCK_ 140L
604 #define rVAR_NUMRECS_ 141L
605 #define rVAR_NUMallocRECS_ 142L
606 #define rVAR_ALLOCATEDFROM_ 143L
607 #define rVAR_ALLOCATEDTO_ 144L
608 #define zVAR_ALLOCATEDFROM_ 145L
609 #define zVAR_ALLOCATEDTO_ 146L
610 #define zVAR_nINDEXLEVELS_ 147L
611 #define rVAR_nINDEXLEVELS_ 148L
612 #define CDF_SCRATCHDIR_ 149L
613 #define rVAR_RESERVEPERCENT_ 150L
614 #define zVAR_RESERVEPERCENT_ 151L
615 #define rVAR_RECORDS_ 152L
616 #define zVAR_RECORDS_ 153L
617 #define STAGE_CACHESIZE_ 154L
618 #define COMPRESS_CACHESIZE_ 155L
619 #define CDF_CHECKSUM_ 156L
620 
621 #define CDFwithSTATS_ 200L /* For CDF internal use only! */
622 #define CDF_ACCESS_ 201L /* For CDF internal use only! */
623 
624 #define TT2000END -99999.999
625 
626 /******************************************************************************
627 * C interface macros.
628 ******************************************************************************/
629 
630 #define CDFattrCreate CDFcreateAttr
631 #define CDFattrNum CDFgetAttrNum
632 #define CDFvarCreate CDFcreaterVar
633 #define CDFvarNum CDFgetVarNum
634 #define CDFerror CDFgetStatusText
635 #define CDFattrRename CDFrenameAttr
636 #define CDFopenCDF CDFopen
637 #define CDFdeleteCDF CDFdelete
638 #define CDFcloseCDF CDFclose
639 #define CDFselectCDF CDFselect
640 
641 #define CDFattrEntryInquire(id,attrNum,entryNum,dataType,numElems) \
642 CDFinquireAttrEntry(id,0,attrNum,entryNum,dataType,numElems)
643 #define CDFinquireAttrgEntry(id,attrNum,entryNum,dataType,numElems) \
644 CDFinquireAttrEntry(id,1,attrNum,entryNum,dataType,numElems)
645 #define CDFinquireAttrrEntry(id,attrNum,entryNum,dataType,numElems) \
646 CDFinquireAttrEntry(id,2,attrNum,entryNum,dataType,numElems)
647 #define CDFinquireAttrzEntry(id,attrNum,entryNum,dataType,numElems) \
648 CDFinquireAttrEntry(id,3,attrNum,entryNum,dataType,numElems)
649 
650 #define CDFinquireAttr1Info(id,attrNum,attrName,attrScope,maxEntry) \
651 CDFinquireAttrInfo(id,0,attrNum,attrName,attrScope,maxEntry)
652 #define CDFinquireAttr2Info(id,attrNum,attrName,attrScope,maxEntry) \
653 CDFinquireAttrInfo(id,1,attrNum,attrName,attrScope,maxEntry)
654 
655 #define CDFattrPut(id,attrNum,entryNum,dataType,numElems,value) \
656 CDFputAttrEntry(id,0,attrNum,entryNum,dataType,numElems,value)
657 #define CDFputAttrgEntry(id,attrNum,entryNum,dataType,numElems,value) \
658 CDFputAttrEntry(id,1,attrNum,entryNum,dataType,numElems,value)
659 #define CDFputAttrrEntry(id,attrNum,entryNum,dataType,numElems,value) \
660 CDFputAttrEntry(id,2,attrNum,entryNum,dataType,numElems,value)
661 #define CDFputAttrzEntry(id,attrNum,entryNum,dataType,numElems,value) \
662 CDFputAttrEntry(id,3,attrNum,entryNum,dataType,numElems,value)
663 
664 #define CDFattrGet(id,attrNum,entryNum,value) \
665 CDFgetAttrEntry(id,0,attrNum,entryNum,value)
666 #define CDFgetAttrgEntry(id,attrNum,entryNum,value) \
667 CDFgetAttrEntry(id,1,attrNum,entryNum,value)
668 #define CDFgetAttrrEntry(id,attrNum,entryNum,value) \
669 CDFgetAttrEntry(id,2,attrNum,entryNum,value)
670 #define CDFgetAttrzEntry(id,attrNum,entryNum,value) \
671 CDFgetAttrEntry(id,3,attrNum,entryNum,value)
672 
673 #define CDFgetAttrgEntryDataType(id,attrNum,entryNum,dataType) \
674 CDFgetAttrEntryDataType(id,1,attrNum,entryNum,dataType)
675 #define CDFgetAttrrEntryDataType(id,attrNum,entryNum,dataType) \
676 CDFgetAttrEntryDataType(id,2,attrNum,entryNum,dataType)
677 #define CDFgetAttrzEntryDataType(id,attrNum,entryNum,dataType) \
678 CDFgetAttrEntryDataType(id,3,attrNum,entryNum,dataType)
679 
680 #define CDFsetAttrgEntryDataSpec(id,attrNum,entryNum,dataType) \
681 CDFsetAttrEntryDataSpec(id,1,attrNum,entryNum,dataType,(long)-99)
682 #define CDFsetAttrrEntryDataSpec(id,attrNum,entryNum,dataType) \
683 CDFsetAttrEntryDataSpec(id,2,attrNum,entryNum,dataType,(long)-99)
684 #define CDFsetAttrzEntryDataSpec(id,attrNum,entryNum,dataType) \
685 CDFsetAttrEntryDataSpec(id,3,attrNum,entryNum,dataType,(long)-99)
686 
687 #define CDFvarRename CDFrenamerVar
688 #define CDFrenamerVar(id,varNum,varName) CDFrenameVar(id,0,varNum,varName)
689 #define CDFrenamezVar(id,varNum,varName) CDFrenameVar(id,1,varNum,varName)
690 
691 #define CDFinquirerVar(id,varN,varName,dataType,numElems,numDims,dimSizes,recVary,dimVarys) \
692 CDFinquireVar(id,0,varN,varName,dataType,numElems,numDims,dimSizes,recVary,dimVarys)
693 #define CDFinquirezVar(id,varN,varName,dataType,numElems,numDims,dimSizes,recVary,dimVarys) \
694 CDFinquireVar(id,1,varN,varName,dataType,numElems,numDims,dimSizes,recVary,dimVarys)
695 
696 #define CDFvarPut CDFputrVarData
697 #define CDFputrVarData(id,varNum,recNum,indices,value) \
698 CDFputVarData(id,0,varNum,recNum,indices,value)
699 #define CDFputzVarData(id,varNum,recNum,indices,value) \
700 CDFputVarData(id,1,varNum,recNum,indices,value)
701 
702 #define CDFvarGet CDFgetrVarData
703 #define CDFgetrVarData(id,varNum,recNum,indices,value) \
704 CDFgetVarData(id,0,varNum,recNum,indices,value)
705 #define CDFgetzVarData(id,varNum,recNum,indices,value) \
706 CDFgetVarData(id,1,varNum,recNum,indices,value)
707 
708 #define CDFvarHyperPut CDFhyperPutrVarData
709 #define CDFhyperPutrVarData(id,varNum,recS,recC,recI,indices,counts,intervals,buff) \
710 CDFhyperPutVarData(id,0,varNum,recS,recC,recI,indices,counts,intervals,buff)
711 #define CDFhyperPutzVarData(id,varNum,recS,recC,recI,indices,counts,intervals,buff) \
712 CDFhyperPutVarData(id,1,varNum,recS,recC,recI,indices,counts,intervals,buff)
713 
714 #define CDFvarHyperGet CDFhyperGetrVarData
715 #define CDFhyperGetrVarData(id,varNum,recS,recC,recI,indices,counts,intervals,buff) \
716 CDFhyperGetVarData(id,0,varNum,recS,recC,recI,indices,counts,intervals,buff)
717 #define CDFhyperGetzVarData(id,varNum,recS,recC,recI,indices,counts,intervals,buff) \
718 CDFhyperGetVarData(id,1,varNum,recS,recC,recI,indices,counts,intervals,buff)
719 
720 #define CDFvarClose CDFcloserVar
721 #define CDFcloserVar(id,varNum) CDFcloseVar(id,0,varNum)
722 #define CDFclosezVar(id,varNum) CDFcloseVar(id,1,varNum)
723 
724 #define CDFdeleteAttrgEntry(id,attrNum,entryNum) \
725 CDFdeleteAttrEntry(id,1,attrNum,entryNum)
726 #define CDFdeleteAttrrEntry(id,attrNum,entryNum) \
727 CDFdeleteAttrEntry(id,2,attrNum,entryNum)
728 #define CDFdeleteAttrzEntry(id,attrNum,entryNum) \
729 CDFdeleteAttrEntry(id,3,attrNum,entryNum)
730 
731 #define CDFgetNumAttrgEntries(id,attrNum,numEntries) \
732 CDFgetNumAttrEntries(id,1,attrNum,numEntries)
733 #define CDFgetNumAttrrEntries(id,attrNum,numEntries) \
734 CDFgetNumAttrEntries(id,2,attrNum,numEntries)
735 #define CDFgetNumAttrzEntries(id,attrNum,numEntries) \
736 CDFgetNumAttrEntries(id,3,attrNum,numEntries)
737 
738 #define CDFgetAttrMaxgEntry(id,attrNum,maxEntry) \
739 CDFgetAttrMaxEntry(id,1,attrNum,maxEntry)
740 #define CDFgetAttrMaxrEntry(id,attrNum,maxEntry) \
741 CDFgetAttrMaxEntry(id,2,attrNum,maxEntry)
742 #define CDFgetAttrMaxzEntry(id,attrNum,maxEntry) \
743 CDFgetAttrMaxEntry(id,3,attrNum,maxEntry)
744 
745 #define CDFgetAttrgEntryNumElements(id,attrNum,entryNum,numElems) \
746 CDFgetAttrEntryNumElements(id,1,attrNum,entryNum,numElems)
747 #define CDFgetAttrrEntryNumElements(id,attrNum,entryNum,numElems) \
748 CDFgetAttrEntryNumElements(id,2,attrNum,entryNum,numElems)
749 #define CDFgetAttrzEntryNumElements(id,attrNum,entryNum,numElems) \
750 CDFgetAttrEntryNumElements(id,3,attrNum,entryNum,numElems)
751 
752 #define CDFgetNumrVars(id,numVars) CDFgetNumVars(id,0,numVars)
753 #define CDFgetNumzVars(id,numVars) CDFgetNumVars(id,1,numVars)
754 
755 #define CDFdeletezVar(id,varNum) CDFdeleteVar(id,1,varNum)
756 
757 #define CDFdeletezVarRecords(id,varNum,sRec,eRec) \
758 CDFdeleteVarRecords(id,1,varNum,sRec,eRec)
759 
760 #define CDFgetzVarName(id,varNum,varName) \
761 CDFgetVarName(id,1,varNum,varName)
762 
763 #define CDFgetzVarMaxWrittenRecNum(id,varNum,maxRec) \
764 CDFgetVarMaxWrittenRecNum(id,1,varNum,maxRec)
765 
766 #define CDFgetzVarsMaxWrittenRecNum(id,maxRec) \
767 CDFgetVarsMaxWrittenRecNum(id,1,maxRec)
768 
769 #define CDFgetzVarMaxAllocRecNum(id,varNum,maxAllocRec) \
770 CDFgetVarMaxAllocRecNum(id,1,varNum,maxAllocRec)
771 
772 #define CDFgetzVarDataType(id,varNum,dataType) \
773 CDFgetVarDataType(id,1,varNum,dataType)
774 
775 #define CDFgetzVarAllocRecords(id,varNum,allocRecs) \
776 CDFgetVarAllocRecords(id,1,varNum,allocRecs)
777 #define CDFsetzVarAllocRecords(id,varNum,allocRecs) \
778 CDFsetVarAllocRecords(id,1,varNum,allocRecs)
779 
780 #define CDFsetzVarAllocBlockRecords(id,varNum,firstRec,lastRec) \
781 CDFsetVarAllocBlockRecords(id,1,varNum,firstRec,lastRec)
782 
783 #define CDFgetzVarBlockingFactor(id,varNum,bf) \
784 CDFgetVarBlockingFactor(id,1,varNum,bf)
785 #define CDFsetzVarBlockingFactor(id,varNum,bf) \
786 CDFsetVarBlockingFactor(id,1,varNum,bf)
787 
788 #define CDFgetzVarCompression(id,varNum,cType,cParms,cPct) \
789 CDFgetVarCompression(id,1,varNum,cType,cParms,cPct)
790 #define CDFsetzVarCompression(id,varNum,cType,cParms) \
791 CDFsetVarCompression(id,1,varNum,cType,cParms)
792 
793 #define CDFsetzVarDataSpec(id,varNum,dataType) \
794 CDFsetVarDataSpec(id,1,varNum,dataType,(long)-99)
795 
796 #define CDFsetzVarDimVariances(id,varNum,dimVarys) \
797 CDFsetVarDimVariances(id,1,varNum,dimVarys)
798 
799 #define CDFgetzVarDimVariances(id,varNum,dimVarys) \
800 CDFgetVarDimVariances(id,1,varNum,dimVarys)
801 
802 #define CDFgetzVarNumElements(id,varNum,numEles) \
803 CDFgetVarNumElements(id,1,varNum,numEles)
804 
805 #define CDFgetzVarNumRecsWritten(id,varNum,numRecs) \
806 CDFgetVarNumRecsWritten(id,1,varNum,numRecs)
807 
808 #define CDFsetzVarInitialRecs(id,varNum,initRecs) \
809 CDFsetVarInitialRecs(id,1,varNum,initRecs)
810 
811 #define CDFgetzVarPadValue(id,varNum,pad) \
812 CDFgetVarPadValue(id,1,varNum,pad)
813 #define CDFsetzVarPadValue(id,varNum,pad) \
814 CDFsetVarPadValue(id,1,varNum,pad)
815 
816 #define CDFgetzVarRecVariance(id,varNum,recVary) \
817 CDFgetVarRecVariance(id,1,varNum,recVary)
818 #define CDFsetzVarRecVariance(id,varNum,recVary) \
819 CDFsetVarRecVariance(id,1,varNum,recVary)
820 
821 #define CDFgetzVarSeqData(id,varNum,data) \
822 CDFgetVarSeqData(id,1,varNum,data)
823 #define CDFputzVarSeqData(id,varNum,data) \
824 CDFputVarSeqData(id,1,varNum,data)
825 
826 #define CDFgetzVarSparseRecords(id,varNum,sprecs) \
827 CDFgetVarSparseRecords(id,1,varNum,sprecs)
828 #define CDFsetzVarSparseRecords(id,varNum,sprecs) \
829 CDFsetVarSparseRecords(id,1,varNum,sprecs)
830 
831 #define CDFgetzVarsRecordData(id,numVars,varNames,recNum,bufferPtr) \
832 CDFgetVarsRecordDatabyNames(id,1,numVars,varNames,recNum,bufferPtr)
833 #define CDFputzVarsRecordData(id,numVars,varNames,recNum,bufferPtr) \
834 CDFputVarsRecordDatabyNames(id,1,numVars,varNames,recNum,bufferPtr)
835 
836 #define CDFgetzVarsRecordDatabyNumbers(id,numVars,varNumbers,recNum,buffer) \
837 CDFgetVarsRecordDatabyNumbers(id,1,numVars,varNumbers,recNum,buffer)
838 #define CDFputzVarsRecordDatabyNumbers(id,numVars,varNumbers,recNum,buffer) \
839 CDFputVarsRecordDatabyNumbers(id,1,numVars,varNumbers,recNum,buffer)
840 
841 #define CDFgetzVarRecordData(id,varNum,recNum,buffer) \
842 CDFgetVarRecordData(id,1,varNum,recNum,buffer)
843 #define CDFputzVarRecordData(id,varNum,recNum,buffer) \
844 CDFputVarRecordData(id,1,varNum,recNum,buffer)
845 
846 #define CDFsetzVarCacheSize(id,varNum,numBuffers) \
847 CDFsetVarCacheSize(id,1,varNum,numBuffers)
848 
849 #define CDFsetzVarsCacheSize(id,numBuffers) \
850 CDFsetVarsCacheSize(id,1,numBuffers)
851 
852 #define CDFgetzVarCacheSize(id,varNum,numBuffers) \
853 CDFgetVarCacheSize(id,1,varNum,numBuffers)
854 
855 #define CDFconfirmzVarExistence(id,varName) \
856 CDFconfirmVarExistence(id,1,varName)
857 
858 #define CDFconfirmzVarPadValueExistence(id,varNum) \
859 CDFconfirmVarPadValueExistence(id,1,varNum)
860 
861 #define CDFgetzVarReservePercent(id,varNum,percent) \
862 CDFgetVarReservePercent(id,1,varNum,percent)
863 
864 #define CDFsetzVarReservePercent(id,varNum,percent) \
865 CDFsetVarReservePercent(id,1,varNum,percent)
866 
867 #define CDFgetzVarSeqPos(id,varNum,recNum,indices) \
868 CDFgetVarSeqPos(id,1,varNum,recNum,indices)
869 #define CDFsetzVarSeqPos(id,varNum,recNum,indices) \
870 CDFsetVarSeqPos(id,1,varNum,recNum,indices)
871 
872 #define CDFgetzVarAllRecordsByVarID(id,varNum,buffer) \
873 CDFgetVarAllRecordsByVarID(id,1,varNum,buffer)
874 #define CDFputzVarAllRecordsByVarID(id,varNum,numRecs,buffer) \
875 CDFputVarAllRecordsByVarID(id,1,varNum,numRecs,buffer)
876 
877 #define CDFgetzVarRangeRecordsByVarID(id,varNum,startRec,stopRec,buffer) \
878 CDFgetVarRangeRecordsByVarID(id,1,varNum,startRec,stopRec,buffer)
879 #define CDFputzVarRangeRecordsByVarID(id,varNum,startRec,stopRec,buffer) \
880 CDFputVarRangeRecordsByVarID(id,1,varNum,startRec,stopRec,buffer)
881 
882 /*
883  * CLOSE_ *
884  * */
885 
886 #define CDFclose(id) \
887 CDFlib (SELECT_, CDF_, id, \
888  CLOSE_, CDF_, \
889  NULL_)
890 
891 #define CDFcloseVar(id,zVar,varNum) \
892 CDFlib (SELECT_, CDF_, id, \
893  (zVar?zVAR_:rVAR_), varNum, \
894  CLOSE_, (zVar? zVAR_: rVAR_), \
895  NULL_)
896 
897 /*
898  * CONFIRM_ *
899  * */
900 
901 #define CDFconfirmAttrExistence(id,attrName) \
902 CDFlib (SELECT_, CDF_, id, \
903  CONFIRM_, ATTR_EXISTENCE_, attrName, \
904  NULL_)
905 
906 #define CDFgetCacheSize(id,numBuffers) \
907 CDFlib (SELECT_, CDF_, id, \
908  CONFIRM_, CDF_CACHESIZE_, numBuffers, \
909  NULL_)
910 
911 #define CDFgetVarCacheSize(id,zVar,varNum,numBuffers) \
912 CDFlib (SELECT_, CDF_, id, \
913  (zVar?zVAR_:rVAR_), varNum, \
914  CONFIRM_, (zVar?zVAR_CACHESIZE_:rVAR_CACHESIZE_), numBuffers, \
915  NULL_)
916 
917 #define CDFgetDecoding(id,decoding) \
918 CDFlib (SELECT_, CDF_, id, \
919  CONFIRM_, CDF_DECODING_, decoding, \
920  NULL_)
921 
922 #define CDFgetName(id,cdfName) \
923 CDFlib (SELECT_, CDF_, id, \
924  CONFIRM_, CDF_NAME_, cdfName, \
925  NULL_)
926 
927 #define CDFgetNegtoPosfp0Mode(id,negtoPosfp0) \
928 CDFlib (SELECT_, CDF_, id, \
929  CONFIRM_, CDF_NEGtoPOSfp0_MODE_, negtoPosfp0, \
930  NULL_)
931 
932 #define CDFgetReadOnlyMode(id,readOnlyMode) \
933 CDFlib (SELECT_, CDF_, id, \
934  CONFIRM_, CDF_READONLY_MODE_, readOnlyMode, \
935  NULL_)
936 
937 #define CDFgetzMode(id,zMode) \
938 CDFlib (SELECT_, CDF_, id, \
939  CONFIRM_, CDF_zMODE_, zMode, \
940  NULL_)
941 
942 #define CDFgetCompressionCacheSize(id,numBuffers) \
943 CDFlib (SELECT_, CDF_, id, \
944  CONFIRM_, COMPRESS_CACHESIZE_, numBuffers, \
945  NULL_)
946 
947 #define CDFconfirmgEntryExistence(id,attrNum,entryNum) \
948 CDFlib (SELECT_, CDF_, id, \
949  ATTR_, attrNum, \
950  CONFIRM_, gENTRY_EXISTENCE_, entryNum, \
951  NULL_)
952 
953 #define CDFconfirmrEntryExistence(id,attrNum,entryNum) \
954 CDFlib (SELECT_, CDF_, id, \
955  ATTR_, attrNum, \
956  CONFIRM_, rENTRY_EXISTENCE_, entryNum, \
957  NULL_)
958 
959 #define CDFgetStageCacheSize(id,numBuffers) \
960 CDFlib (SELECT_, CDF_, id, \
961  CONFIRM_, STAGE_CACHESIZE_, numBuffers, \
962  NULL_)
963 
964 #define CDFconfirmVarExistence(id,zVar,varName) \
965 CDFlib (SELECT_, CDF_, id, \
966  CONFIRM_, (zVar?zVAR_EXISTENCE_:rVAR_EXISTENCE_), varName, \
967  NULL_)
968 
969 #define CDFconfirmVarPadValueExistence(id,zVar,varNum) \
970 CDFlib (SELECT_, CDF_, id, \
971  (zVar?zVAR_:rVAR_), varNum, \
972  CONFIRM_, (zVar?zVAR_PADVALUE_:rVAR_PADVALUE_), \
973  NULL_)
974 
975 #define CDFgetVarReservePercent(id,zVar,varNum,percent) \
976 CDFlib (SELECT_, CDF_, id, \
977  (zVar?zVAR_:rVAR_), varNum, \
978  CONFIRM_, (zVar?zVAR_RESERVEPERCENT_:rVAR_RESERVEPERCENT_), percent, \
979  NULL_)
980 
981 #define CDFgetVarSeqPos(id,zVar,varNum,recNum,indices) \
982 CDFlib (SELECT_, CDF_, id, \
983  (zVar?zVAR_:rVAR_), varNum, \
984  CONFIRM_, (zVar?zVAR_SEQPOS_:rVAR_SEQPOS_), recNum, indices, \
985  NULL_)
986 
987 #define CDFconfirmzEntryExistence(id,attrNum,entryNum) \
988 CDFlib (SELECT_, CDF_, id, \
989  ATTR_, attrNum, \
990  CONFIRM_, zENTRY_EXISTENCE_, entryNum, \
991  NULL_)
992 
993 #define CDFconfirmChecksum(id) \
994 CDFlib (SELECT_, CDF_, id, \
995  CONFIRM_, CDF_CHECKSUM_, \
996  NULL_)
997 
998 /*
999  * CREATE_ *
1000  * */
1001 
1002 #define CDFcreate(CDFname,numDims,dimSizes,encoding,majority,id) \
1003 CDFlib (CREATE_, CDF_, CDFname, numDims, dimSizes, id, \
1004  PUT_, CDF_ENCODING_, encoding, \
1005  CDF_MAJORITY_, majority, \
1006  NULL_)
1007 
1008 #define CDFcreateAttr(id,attrName,attrScope,attrNum) \
1009 CDFlib (SELECT_, CDF_, id, \
1010  CREATE_, ATTR_, attrName, attrScope, attrNum, \
1011  NULL_)
1012 
1013 #define CDFcreaterVar(id,varName,dataType,numElements,recVary,dimVarys,varNum) \
1014 CDFlib (SELECT_, CDF_, id, \
1015  CREATE_, rVAR_, varName, dataType, numElements, \
1016  recVary, dimVarys, varNum, \
1017  NULL_)
1018 
1019 #define CDFcreatezVar(id,varName,dataType,numElements,numDims,dimSizes,recVary,dimVarys,varNum) \
1020 CDFlib (SELECT_, CDF_, id, \
1021  CREATE_, zVAR_, varName, dataType, numElements, \
1022  numDims,dimSizes, recVary, dimVarys, varNum, \
1023  NULL_)
1024 
1025 /*
1026  * DELETE_ *
1027  * */
1028 
1029 #define CDFdelete(id) \
1030 CDFlib (SELECT_, CDF_, id, \
1031  DELETE_, CDF_, \
1032  NULL_)
1033 
1034 #define CDFdeleteAttr(id,attrNum) \
1035 CDFlib (SELECT_, CDF_, id, \
1036  ATTR_, attrNum, \
1037  DELETE_, ATTR_, \
1038  NULL_)
1039 
1040 #define CDFdeleteVar(id,zVar,varNum) \
1041 CDFlib (SELECT_, CDF_, id, \
1042  (zVar? zVAR_: rVAR_), varNum, \
1043  DELETE_, (zVar? zVAR_: rVAR_), \
1044  NULL_)
1045 
1046 #define CDFdeleteVarRecords(id,zVar,varNum,firstRec,lastRec) \
1047 CDFlib (SELECT_, CDF_, id, \
1048  (zVar? zVAR_: rVAR_), varNum, \
1049  DELETE_, (zVar? zVAR_RECORDS_: rVAR_RECORDS_), firstRec, lastRec, \
1050  NULL_)
1051 
1052 /*
1053  * GET_ *
1054  * */
1055 
1056 #define CDFgetAttrName(id,attrNum,attrName) \
1057 CDFlib (SELECT_, CDF_, id, \
1058  ATTR_, attrNum, \
1059  GET_, ATTR_NAME_, attrName, \
1060  NULL_)
1061 
1062 #define CDFgetAttrScope(id,attrNum,attrScope) \
1063 CDFlib (SELECT_, CDF_, id, \
1064  ATTR_, attrNum, \
1065  GET_, ATTR_SCOPE_, attrScope, \
1066  NULL_)
1067 
1068 #define CDFgetCompression(id,cType, cParms, cPercent) \
1069 CDFlib (SELECT_, CDF_, id, \
1070  GET_, CDF_COMPRESSION_, cType, cParms, cPercent, \
1071  NULL_)
1072 
1073 #define CDFgetCopyright(id,copyright) \
1074 CDFlib (SELECT_, CDF_, id, \
1075  GET_, CDF_COPYRIGHT_, copyright, \
1076  NULL_)
1077 
1078 #define CDFgetEncoding(id,encoding) \
1079 CDFlib (SELECT_, CDF_, id, \
1080  GET_, CDF_ENCODING_, encoding, \
1081  NULL_)
1082 
1083 #define CDFgetFormat(id,format) \
1084 CDFlib (SELECT_, CDF_, id, \
1085  GET_, CDF_FORMAT_, format, \
1086  NULL_)
1087 
1088 #define CDFgetCompressionInfo(name,cType,cParms,cSize,uSize) \
1089 CDFlib (GET_, CDF_INFO_, name, cType, cParms, cSize, uSize, \
1090  NULL_)
1091 
1092 #define CDFgetMajority(id,majority) \
1093 CDFlib (SELECT_, CDF_, id, \
1094  GET_, CDF_MAJORITY_, majority, \
1095  NULL_)
1096 
1097 #define CDFgetNumAttributes(id,numAttrs) \
1098 CDFlib (SELECT_, CDF_, id, \
1099  GET_, CDF_NUMATTRS_, numAttrs, \
1100  NULL_)
1101 
1102 #define CDFgetNumgAttributes(id,numgAttrs) \
1103 CDFlib (SELECT_, CDF_, id, \
1104  GET_, CDF_NUMgATTRS_, numgAttrs, \
1105  NULL_)
1106 
1107 #define CDFgetNumVars(id,zVar,numVars) \
1108 CDFlib (SELECT_, CDF_, id, \
1109  GET_, (zVar?CDF_NUMzVARS_:CDF_NUMrVARS_), numVars, \
1110  NULL_)
1111 
1112 #define CDFgetNumvAttributes(id,numvAttrs) \
1113 CDFlib (SELECT_, CDF_, id, \
1114  GET_, CDF_NUMvATTRS_, numvAttrs, \
1115  NULL_)
1116 
1117 #define CDFdoc(id,version,release,copyright) \
1118 CDFlib (SELECT_, CDF_, id, \
1119  GET_, CDF_VERSION_, version, \
1120  CDF_RELEASE_, release, \
1121  CDF_COPYRIGHT_, copyright, \
1122  NULL_)
1123 
1124 #define CDFgetDataTypeSize(dataType,numBytes) \
1125 CDFlib (GET_, DATATYPE_SIZE_, dataType, numBytes, \
1126  NULL_)
1127 
1128 #define CDFgetLibraryCopyright(copyright) \
1129 CDFlib (GET_, LIB_COPYRIGHT_, copyright, \
1130  NULL_)
1131 
1132 #define CDFgetLibraryVersion(version,release,increment,subincrement) \
1133 CDFlib (GET_, LIB_VERSION_, version, \
1134  LIB_RELEASE_, release, \
1135  LIB_INCREMENT_, increment, \
1136  LIB_subINCREMENT_, subincrement, \
1137  NULL_)
1138 
1139 #define CDFgetVersion(id,version,release,increment) \
1140 CDFlib (SELECT_, CDF_, id, \
1141  GET_, CDF_VERSION_, version, \
1142  CDF_RELEASE_, release, \
1143  CDF_INCREMENT_, increment, \
1144  NULL_)
1145 
1146 #define CDFgetVarBlockingFactor(id,zVar,varNum,bf) \
1147 CDFlib (SELECT_, CDF_, id, \
1148  (zVar?zVAR_:rVAR_), varNum, \
1149  GET_, (zVar?zVAR_BLOCKINGFACTOR_:rVAR_BLOCKINGFACTOR_), bf, \
1150  NULL_)
1151 
1152 #define CDFgetVarCompression(id,zVar,varNum,cType,cParms,cPct) \
1153 CDFlib (SELECT_, CDF_, id, \
1154  (zVar?zVAR_:rVAR_), varNum, \
1155  GET_, (zVar?zVAR_COMPRESSION_:rVAR_COMPRESSION_), cType, cParms, cPct, \
1156  NULL_)
1157 
1158 #define CDFgetVarData(id,zVar,varNum,recNum,indices,value) \
1159 CDFlib (SELECT_, CDF_, id, \
1160  (zVar?zVAR_:rVAR_), varNum, \
1161  (zVar?zVAR_RECNUMBER_:rVARs_RECNUMBER_), recNum, \
1162  (zVar?zVAR_DIMINDICES_:rVARs_DIMINDICES_), indices, \
1163  GET_, (zVar?zVAR_DATA_:rVAR_DATA_), value, \
1164  NULL_)
1165 
1166 #define CDFgetVarDataType(id,zVar,varNum,dataType) \
1167 CDFlib (SELECT_, CDF_, id, \
1168  (zVar?zVAR_:rVAR_), varNum, \
1169  GET_, (zVar?zVAR_DATATYPE_:rVAR_DATATYPE_), dataType, \
1170  NULL_)
1171 
1172 #define CDFgetVarDimVariances(id,zVar,varNum,dimVarys) \
1173 CDFlib (SELECT_, CDF_, id, \
1174  (zVar?zVAR_:rVAR_), varNum, \
1175  GET_, (zVar?zVAR_DIMVARYS_:rVAR_DIMVARYS_), dimVarys, \
1176  NULL_)
1177 
1178 #define CDFgetVarMaxAllocRecNum(id,zVar,varNum,maxAllocRec) \
1179 CDFlib (SELECT_, CDF_, id, \
1180  (zVar?zVAR_:rVAR_), varNum, \
1181  GET_, (zVar?zVAR_MAXallocREC_:rVAR_MAXallocREC_), maxAllocRec, \
1182  NULL_)
1183 
1184 #define CDFgetVarMaxWrittenRecNum(id,zVar,varNum,maxRec) \
1185 CDFlib (SELECT_, CDF_, id, \
1186  (zVar?zVAR_:rVAR_), varNum, \
1187  GET_, (zVar?zVAR_MAXREC_:rVAR_MAXREC_), maxRec, \
1188  NULL_)
1189 
1190 #define CDFgetVarAllocRecords(id,zVar,varNum,numAllocRecs) \
1191 CDFlib (SELECT_, CDF_, id, \
1192  (zVar?zVAR_:rVAR_), varNum, \
1193  GET_, (zVar?zVAR_NUMallocRECS_:rVAR_NUMallocRECS_), numAllocRecs, \
1194  NULL_)
1195 
1196 #define CDFgetVarNumElements(id,zVar,varNum,numElements) \
1197 CDFlib (SELECT_, CDF_, id, \
1198  (zVar?zVAR_:rVAR_), varNum, \
1199  GET_, (zVar?zVAR_NUMELEMS_:rVAR_NUMELEMS_), numElements, \
1200  NULL_)
1201 
1202 #define CDFgetVarNumRecsWritten(id,zVar,varNum,numRecs) \
1203 CDFlib (SELECT_, CDF_, id, \
1204  (zVar?zVAR_:rVAR_), varNum, \
1205  GET_, (zVar?zVAR_NUMRECS_:rVAR_NUMRECS_), numRecs, \
1206  NULL_)
1207 
1208 #define CDFgetVarPadValue(id,zVar,varNum,padValue) \
1209 CDFlib (SELECT_, CDF_, id, \
1210  (zVar?zVAR_:rVAR_), varNum, \
1211  GET_, (zVar?zVAR_PADVALUE_:rVAR_PADVALUE_), padValue, \
1212  NULL_)
1213 
1214 #define CDFgetVarRecVariance(id,zVar,varNum,recVary) \
1215 CDFlib (SELECT_, CDF_, id, \
1216  (zVar?zVAR_:rVAR_), varNum, \
1217  GET_, (zVar?zVAR_RECVARY_:rVAR_RECVARY_), recVary, \
1218  NULL_)
1219 
1220 #define CDFgetVarSeqData(id,zVar,varNum,seqData) \
1221 CDFlib (SELECT_, CDF_, id, \
1222  (zVar?zVAR_:rVAR_), varNum, \
1223  GET_, (zVar?zVAR_SEQDATA_:rVAR_SEQDATA_), seqData, \
1224  NULL_)
1225 
1226 #define CDFgetVarsRecordDatabyNumbers(id,zVar,numVars,varNums,recNum,buffer) \
1227 CDFlib (SELECT_, CDF_, id, \
1228  (zVar?zVARs_RECNUMBER_:rVARs_RECNUMBER_), recNum, \
1229  GET_, (zVar?zVARs_RECDATA_:rVARs_RECDATA_), numVars, varNums, buffer, \
1230  NULL_)
1231 
1232 #define CDFgetVarSparseRecords(id,zVar,varNum,sparseRecs) \
1233 CDFlib (SELECT_, CDF_, id, \
1234  (zVar?zVAR_:rVAR_), varNum, \
1235  GET_, (zVar?zVAR_SPARSERECORDS_:rVAR_SPARSERECORDS_), sparseRecs, \
1236  NULL_)
1237 
1238 #define CDFgetrVarsDimSizes(id,dimSizes) \
1239 CDFlib (SELECT_, CDF_, id, \
1240  GET_, rVARs_DIMSIZES_, dimSizes, \
1241  NULL_)
1242 
1243 #define CDFgetzVarDimSizes(id,varNum,dimSizes) \
1244 CDFlib (SELECT_, CDF_, id, \
1245  zVAR_, varNum, \
1246  GET_, zVAR_DIMSIZES_, dimSizes, \
1247  NULL_)
1248 
1249 #define CDFgetVarName(id,zVar,varNum,varName) \
1250 CDFlib (SELECT_, CDF_, id, \
1251  (zVar?zVAR_:rVAR_), varNum, \
1252  GET_, (zVar?zVAR_NAME_:rVAR_NAME_), varName, \
1253  NULL_)
1254 
1255 #define CDFgetzVarNumDims(id,varNum,numDims) \
1256 CDFlib (SELECT_, CDF_, id, \
1257  zVAR_, varNum, \
1258  GET_, zVAR_NUMDIMS_, numDims, \
1259  NULL_)
1260 
1261 #define CDFgetrVarsNumDims(id,numDims) \
1262 CDFlib (SELECT_, CDF_, id, \
1263  GET_, rVARs_NUMDIMS_, numDims, \
1264  NULL_)
1265 
1266 #define CDFgetStatusText(status,text) \
1267 CDFlib (SELECT_, CDF_STATUS_, status, \
1268  GET_, STATUS_TEXT_, text, \
1269  NULL_)
1270 
1271 #define CDFhyperGetVarData(id,zVar,varN,recS,recC,recI,indices,counts,intervals,buff) \
1272 CDFlib (SELECT_, CDF_, id, \
1273  (zVar?zVAR_:rVAR_), varN, \
1274  (zVar?zVAR_RECNUMBER_:rVARs_RECNUMBER_), recS, \
1275  (zVar?zVAR_RECCOUNT_:rVARs_RECCOUNT_), recC, \
1276  (zVar?zVAR_RECINTERVAL_:rVARs_RECINTERVAL_), recI, \
1277  (zVar?zVAR_DIMINDICES_:rVARs_DIMINDICES_), indices, \
1278  (zVar?zVAR_DIMCOUNTS_:rVARs_DIMCOUNTS_), counts, \
1279  (zVar?zVAR_DIMINTERVALS_:rVARs_DIMINTERVALS_), intervals, \
1280  GET_, (zVar?zVAR_HYPERDATA_:rVAR_HYPERDATA_), buff, \
1281  NULL_)
1282 
1283 #define CDFgetMaxWrittenRecNums(id,maxRecrVars,maxReczVars) \
1284 CDFlib (SELECT_, CDF_, id, \
1285  GET_, rVARs_MAXREC_, maxRecrVars, \
1286  zVARs_MAXREC_, maxReczVars, \
1287  NULL_)
1288 
1289 #define CDFgetVarsMaxWrittenRecNum(id,zVar,maxRecVar) \
1290 CDFlib (SELECT_, CDF_, id, \
1291  GET_, (zVar?zVARs_MAXREC_:rVARs_MAXREC_), maxRecVar, \
1292  NULL_)
1293 
1294 #define CDFinquireVar(id,zVar,varN,varName,dataType,numElements,numDims,dimSizes,recVary,dimVarys) \
1295 CDFlib (SELECT_, CDF_, id, \
1296  (zVar?zVAR_:rVAR_), varN, \
1297  GET_, (zVar?zVAR_NAME_:rVAR_NAME_), varName, \
1298  (zVar?zVAR_DATATYPE_:rVAR_DATATYPE_), dataType, \
1299  (zVar?zVAR_NUMELEMS_:rVAR_NUMELEMS_), numElements, \
1300  (zVar?zVAR_NUMDIMS_:rVARs_NUMDIMS_), numDims, \
1301  (zVar?zVAR_DIMSIZES_:rVARs_DIMSIZES_), dimSizes, \
1302  (zVar?zVAR_RECVARY_:rVAR_RECVARY_), recVary, \
1303  (zVar?zVAR_DIMVARYS_:rVAR_DIMVARYS_), dimVarys, \
1304  NULL_)
1305 
1306 #define CDFvarInquire(id,varN,varName,dataType,numElements,recVary,dimVarys) \
1307 CDFlib (SELECT_, CDF_, id, \
1308  rVAR_, varN, \
1309  GET_, rVAR_NAME_, varName, \
1310  rVAR_DATATYPE_, dataType, \
1311  rVAR_NUMELEMS_, numElements, \
1312  rVAR_RECVARY_, recVary, \
1313  rVAR_DIMVARYS_, dimVarys, \
1314  NULL_)
1315 #define CDFinquire(id,numDims,dimSizes,encoding,majority,maxRec,nVars,nAttrs) \
1316 CDFlib (SELECT_, CDF_, id, \
1317  GET_, rVARs_NUMDIMS_, numDims, \
1318  rVARs_DIMSIZES_, dimSizes, \
1319  CDF_ENCODING_, encoding, \
1320  CDF_MAJORITY_, majority, \
1321  rVARs_MAXREC_, maxRec, \
1322  CDF_NUMrVARS_, nVars, \
1323  CDF_NUMATTRS_, nAttrs, \
1324  NULL_)
1325 #define CDFinquireCDF(id,numDims,dimSizes,encoding,majority,maxrRec,nrVars,maxzRec,nzVars,nAttrs) \
1326 CDFlib (SELECT_, CDF_, id, \
1327  GET_, rVARs_NUMDIMS_, numDims, \
1328  rVARs_DIMSIZES_, dimSizes, \
1329  CDF_ENCODING_, encoding, \
1330  CDF_MAJORITY_, majority, \
1331  rVARs_MAXREC_, maxrRec, \
1332  CDF_NUMrVARS_, nrVars, \
1333  zVARs_MAXREC_, maxzRec, \
1334  CDF_NUMzVARS_, nzVars, \
1335  CDF_NUMATTRS_, nAttrs, \
1336  NULL_)
1337 
1338 #define CDFgetChecksum(id,checksum) \
1339 CDFlib (SELECT_, CDF_, id, \
1340  GET_, CDF_CHECKSUM_, checksum, \
1341  NULL_)
1342 
1343 /*
1344  * OPEN_ *
1345  * */
1346 
1347 #define CDFopen(CDFname,id) \
1348 CDFlib (OPEN_, CDF_, CDFname, id, \
1349  NULL_)
1350 
1351 /*
1352  * PUT_ *
1353  * */
1354 
1355 #define CDFsetAttrScope(id,attrNum,attrScope) \
1356 CDFlib (SELECT_, CDF_, id, \
1357  ATTR_, attrNum, \
1358  PUT_, ATTR_SCOPE_, attrScope, \
1359  NULL_)
1360 
1361 #define CDFsetCompression(id,cType, cParms) \
1362 CDFlib (SELECT_, CDF_, id, \
1363  PUT_, CDF_COMPRESSION_, cType, cParms, \
1364  NULL_)
1365 
1366 #define CDFsetEncoding(id,encoding) \
1367 CDFlib (SELECT_, CDF_, id, \
1368  PUT_, CDF_ENCODING_, encoding, \
1369  NULL_)
1370 
1371 #define CDFsetFormat(id,format) \
1372 CDFlib (SELECT_, CDF_, id, \
1373  PUT_, CDF_FORMAT_, format, \
1374  NULL_)
1375 
1376 #define CDFsetMajority(id,majority) \
1377 CDFlib (SELECT_, CDF_, id, \
1378  PUT_, CDF_MAJORITY_, majority, \
1379  NULL_)
1380 
1381 #define CDFrenameAttr(id,attrNum,attrName) \
1382 CDFlib (SELECT_, CDF_, id, \
1383  ATTR_, attrNum, \
1384  PUT_, ATTR_NAME_, attrName, \
1385  NULL_)
1386 
1387 #define CDFrenameVar(id,zVar,varNum,varName) \
1388 CDFlib (SELECT_, CDF_, id, \
1389  (zVar?zVAR_:rVAR_), varNum, \
1390  PUT_, (zVar?zVAR_NAME_:rVAR_NAME_), varName, \
1391  NULL_)
1392 
1393 #define CDFsetVarAllocRecords(id,zVar,varNum,allocRecs) \
1394 CDFlib (SELECT_, CDF_, id, \
1395  (zVar?zVAR_:rVAR_), varNum, \
1396  PUT_, (zVar?zVAR_ALLOCATERECS_:rVAR_ALLOCATERECS_), allocRecs, \
1397  NULL_)
1398 
1399 #define CDFsetVarAllocBlockRecords(id,zVar,varNum,firstRec, lastRec) \
1400 CDFlib (SELECT_, CDF_, id, \
1401  (zVar?zVAR_:rVAR_), varNum, \
1402  PUT_, (zVar?zVAR_ALLOCATEBLOCK_:rVAR_ALLOCATEBLOCK_), firstRec, \
1403  lastRec, \
1404  NULL_)
1405 
1406 #define CDFsetVarBlockingFactor(id,zVar,varNum,bf) \
1407 CDFlib (SELECT_, CDF_, id, \
1408  (zVar?zVAR_:rVAR_), varNum, \
1409  PUT_, (zVar?zVAR_BLOCKINGFACTOR_:rVAR_BLOCKINGFACTOR_), bf, \
1410  NULL_)
1411 
1412 #define CDFsetVarCompression(id,zVar,varNum,cType,cParms) \
1413 CDFlib (SELECT_, CDF_, id, \
1414  (zVar?zVAR_:rVAR_), varNum, \
1415  PUT_, (zVar?zVAR_COMPRESSION_:rVAR_COMPRESSION_), cType, cParms, \
1416  NULL_)
1417 
1418 #define CDFsetVarDataSpec(id,zVar,varNum,dataType,numElems) \
1419 CDFlib (SELECT_, CDF_, id, \
1420  (zVar?zVAR_:rVAR_), varNum, \
1421  PUT_, (zVar?zVAR_DATASPEC_:rVAR_DATASPEC_), dataType, numElems, \
1422  NULL_)
1423 
1424 #define CDFsetVarDimVariances(id,zVar,varNum,dimVarys) \
1425 CDFlib (SELECT_, CDF_, id, \
1426  (zVar?zVAR_:rVAR_), varNum, \
1427  PUT_, (zVar?zVAR_DIMVARYS_:rVAR_DIMVARYS_), dimVarys, \
1428  NULL_)
1429 
1430 #define CDFsetVarInitialRecs(id,zVar,varNum,numRecs) \
1431 CDFlib (SELECT_, CDF_, id, \
1432  (zVar?zVAR_:rVAR_), varNum, \
1433  PUT_, (zVar?zVAR_INITIALRECS_:rVAR_INITIALRECS_), numRecs, \
1434  NULL_)
1435 
1436 #define CDFsetVarPadValue(id,zVar,varNum,padValue) \
1437 CDFlib (SELECT_, CDF_, id, \
1438  (zVar?zVAR_:rVAR_), varNum, \
1439  PUT_, (zVar?zVAR_PADVALUE_:rVAR_PADVALUE_), padValue, \
1440  NULL_)
1441 
1442 #define CDFsetVarRecVariance(id,zVar,varNum,recVary) \
1443 CDFlib (SELECT_, CDF_, id, \
1444  (zVar?zVAR_:rVAR_), varNum, \
1445  PUT_, (zVar?zVAR_RECVARY_:rVAR_RECVARY_), recVary, \
1446  NULL_)
1447 
1448 #define CDFputVarSeqData(id,zVar,varNum,seqData) \
1449 CDFlib (SELECT_, CDF_, id, \
1450  (zVar?zVAR_:rVAR_), varNum, \
1451  PUT_, (zVar?zVAR_SEQDATA_:rVAR_SEQDATA_), seqData, \
1452  NULL_)
1453 
1454 #define CDFsetVarSparseRecords(id,zVar,varNum,sparseRecs) \
1455 CDFlib (SELECT_, CDF_, id, \
1456  (zVar?zVAR_:rVAR_), varNum, \
1457  PUT_, (zVar?zVAR_SPARSERECORDS_:rVAR_SPARSERECORDS_), sparseRecs, \
1458  NULL_)
1459 
1460 #define CDFputVarData(id,zVar,varNum,recNum,indices,value) \
1461 CDFlib (SELECT_, CDF_, id, \
1462  (zVar?zVAR_:rVAR_), varNum, \
1463  (zVar?zVAR_RECNUMBER_:rVARs_RECNUMBER_), recNum, \
1464  (zVar?zVAR_DIMINDICES_:rVARs_DIMINDICES_), indices, \
1465  PUT_, (zVar?zVAR_DATA_:rVAR_DATA_), value, \
1466  NULL_)
1467 
1468 #define CDFputVarsRecordDatabyNumbers(id,zVar,numVars,varNums,recNum,buffer) \
1469 CDFlib (SELECT_, CDF_, id, \
1470  (zVar?zVARs_RECNUMBER_:rVARs_RECNUMBER_), recNum, \
1471  PUT_, (zVar?zVARs_RECDATA_:rVARs_RECDATA_), numVars, varNums, buffer, \
1472  NULL_)
1473 
1474 #define CDFhyperPutVarData(id,zVar,varN,recS,recC,recI,indices,counts,intervals,buff) \
1475 CDFlib (SELECT_, CDF_, id, \
1476  (zVar?zVAR_:rVAR_), varN, \
1477  (zVar?zVAR_RECNUMBER_:rVARs_RECNUMBER_), recS, \
1478  (zVar?zVAR_RECCOUNT_:rVARs_RECCOUNT_), recC, \
1479  (zVar?zVAR_RECINTERVAL_:rVARs_RECINTERVAL_), recI, \
1480  (zVar?zVAR_DIMINDICES_:rVARs_DIMINDICES_), indices, \
1481  (zVar?zVAR_DIMCOUNTS_:rVARs_DIMCOUNTS_), counts, \
1482  (zVar?zVAR_DIMINTERVALS_:rVARs_DIMINTERVALS_), intervals, \
1483  PUT_, (zVar?zVAR_HYPERDATA_:rVAR_HYPERDATA_), buff, \
1484  NULL_)
1485 
1486 #define CDFsetChecksum(id,checksum) \
1487 CDFlib (SELECT_, CDF_, id, \
1488  PUT_, CDF_CHECKSUM_, checksum, \
1489  NULL_)
1490 
1491 /*
1492  * SELECT_ *
1493  * */
1494 
1495 #define CDFselect(id) \
1496 CDFlib (SELECT_, CDF_, id, \
1497  NULL_)
1498 
1499 #define CDFsetDecoding(id,decoding) \
1500 CDFlib (SELECT_, CDF_, id, \
1501  CDF_DECODING_, decoding, \
1502  NULL_)
1503 
1504 #define CDFsetCacheSize(id,numBuffers) \
1505 CDFlib (SELECT_, CDF_, id, \
1506  CDF_CACHESIZE_, numBuffers, \
1507  NULL_)
1508 
1509 #define CDFsetVarCacheSize(id,zVar,varNum,numBuffers) \
1510 CDFlib (SELECT_, CDF_, id, \
1511  (zVar?zVAR_:rVAR_), varNum, \
1512  (zVar?zVAR_CACHESIZE_:rVAR_CACHESIZE_), numBuffers, \
1513  NULL_)
1514 
1515 #define CDFsetVarsCacheSize(id,zVar,numBuffers) \
1516 CDFlib (SELECT_, CDF_, id, \
1517  (zVar?zVARs_CACHESIZE_:rVARs_CACHESIZE_), numBuffers, \
1518  NULL_)
1519 
1520 #define CDFsetVarSeqPos(id,zVar,varNum,recNum,indices) \
1521 CDFlib (SELECT_, CDF_, id, \
1522  (zVar?zVAR_:rVAR_), varNum, \
1523  (zVar?zVAR_SEQPOS_:rVAR_SEQPOS_), recNum, indices, \
1524  NULL_)
1525 
1526 #define CDFsetNegtoPosfp0Mode(id,negtoPosfp0) \
1527 CDFlib (SELECT_, CDF_, id, \
1528  CDF_NEGtoPOSfp0_MODE_, negtoPosfp0, \
1529  NULL_)
1530 
1531 #define CDFsetReadOnlyMode(id,readOnlyMode) \
1532 CDFlib (SELECT_, CDF_, id, \
1533  CDF_READONLY_MODE_, readOnlyMode, \
1534  NULL_)
1535 
1536 #define CDFsetVarReservePercent(id,zVar,varNum,percent) \
1537 CDFlib (SELECT_, CDF_, id, \
1538  (zVar?zVAR_:rVAR_), varNum, \
1539  (zVar?zVAR_RESERVEPERCENT_:rVAR_RESERVEPERCENT_), percent, \
1540  NULL_)
1541 
1542 #define CDFsetCompressionCacheSize(id,numBuffers) \
1543 CDFlib (SELECT_, CDF_, id, \
1544  COMPRESS_CACHESIZE_, numBuffers, \
1545  NULL_)
1546 
1547 #define CDFsetStageCacheSize(id,numBuffers) \
1548 CDFlib (SELECT_, CDF_, id, \
1549  STAGE_CACHESIZE_, numBuffers, \
1550  NULL_)
1551 
1552 #define CDFsetzMode(id,zMode) \
1553 CDFlib (SELECT_, CDF_, id, \
1554  CDF_zMODE_, zMode, \
1555  NULL_)
1556 
1557 /******************************************************************************
1558 * TT2000 macros define'd
1559 ******************************************************************************/
1560 
1561 #define parseTT2000 CDF_TT2000_from_UTC_string
1562 #define encodeTT2000 CDF_TT2000_to_UTC_string
1563 #define computeTT2000 CDF_TT2000_from_UTC_parts
1564 #define breakdownTT2000 CDF_TT2000_to_UTC_parts
1565 #define TT2000breakdown CDF_TT2000_to_UTC_parts
1566 
1567 /******************************************************************************
1568 * Function prototypes.
1569 * It is assumed that `__cplusplus' is defined for ALL C++ compilers. If
1570 * ANSI function prototypes are not desired (for whatever reason), define
1571 * noPROTOs on the compile command line. Otherwise, ANSI function prototypes
1572 * will be used where appropriate.
1573 ******************************************************************************/
1574 
1575 #if !defined(noPROTOs)
1576 # if defined(__STDC__)
1577 # define PROTOs_
1578 # else
1579 # if defined(vms)
1580 # define PROTOs_
1581 # endif
1582 # if defined(__MSDOS__) || defined(MSDOS)
1583 # define PROTOs_
1584 # endif
1585 # if defined(macintosh) || defined(THINK_C)
1586 # define PROTOs_
1587 # endif
1588 # if defined(WIN32)
1589 # define PROTOs_
1590 # endif
1591 # if defined(AIX)
1592 # define PROTOs_
1593 # endif
1594 # endif
1595 #endif
1596 
1597 #if defined(PROTOs_)
1598 # define PROTOARGs(args) args
1599 #else
1600 # define PROTOARGs(args) ()
1601 #endif
1602 
1603 #if defined(BUILDINGforIDL)
1604 # define STATICforIDL static
1605 # define VISIBLE_PREFIX static
1606 #else
1607 # if defined(WIN32) && defined(BUILDINGforDLL)
1608 # if defined(LIBCDF_SOURCE_)
1609 # define VISIBLE_PREFIX _declspec(dllexport)
1610 # else
1611 # define VISIBLE_PREFIX _declspec(dllimport)
1612 # endif
1613 # else
1614 # define VISIBLE_PREFIX \
1615 
1616 # endif
1617 # define STATICforIDL \
1618 
1619 #endif
1620 
1621 #if defined(__cplusplus)
1622 extern "C" {
1623 #endif
1624 
1625 #if defined(BUILDINGforIDL)
1626 /* Isn't a prototype needed? */
1627 #else
1628 #if !defined(__CFM68K__) || defined(__USING_STATIC_LIBS__) || !defined(CFM68KDLL)
1629 VISIBLE_PREFIX CDFstatus CDFlib PROTOARGs((long op1, ...));
1630 #endif
1631 #endif
1632 VISIBLE_PREFIX CDFstatus CDFcreateCDF PROTOARGs((
1633  char *name, CDFid *id
1634 ));
1635 VISIBLE_PREFIX CDFstatus CDFattrInquire PROTOARGs((
1636  CDFid id, long attrNum, char *attrName, long *attrScope,
1637  long *maxgrEntry
1638 ));
1639 VISIBLE_PREFIX CDFstatus CDFinquireAttr PROTOARGs((
1640  CDFid id, long attrNum, char *attrName, long *attrScope,
1641  long *maxgEntry, long *maxrEntry, long *maxzEntry
1642 ));
1643 VISIBLE_PREFIX CDFstatus CDFinquireAttrEntry PROTOARGs((
1644  CDFid id, int grzEntry, long attrNum, long entryNum, long *dataType,
1645  long *numElems
1646 ));
1647 VISIBLE_PREFIX CDFstatus CDFinquireAttrInfo PROTOARGs((
1648  CDFid id, int zEntry, long attrNum, char *attrName, long *attrScope,
1649  long *maxEntry
1650 ));
1651 VISIBLE_PREFIX CDFstatus CDFputAttrEntry PROTOARGs((
1652  CDFid id, int grzEntry, long attrNum, long entryNum, long dataType,
1653  long numElems, void *value
1654 ));
1655 VISIBLE_PREFIX CDFstatus CDFgetAttrEntry PROTOARGs((
1656  CDFid id, int grzEntry, long attrNum, long entryNum, void *value
1657 ));
1658 VISIBLE_PREFIX CDFstatus CDFdeleteAttrEntry PROTOARGs((
1659  CDFid id, int grzEntry, long attrNum, long entryNum
1660 ));
1661 VISIBLE_PREFIX CDFstatus CDFsetAttrEntryDataSpec PROTOARGs((
1662  CDFid id, int grzEntry, long attrNum, long entryNum, long dataType,
1663  long numElems
1664 ));
1665 VISIBLE_PREFIX long CDFgetAttrNum PROTOARGs((CDFid id, char *attrName));
1666 VISIBLE_PREFIX long CDFgetVarNum PROTOARGs((CDFid id, char *varName));
1667 VISIBLE_PREFIX CDFstatus CDFgetNumAttrEntries PROTOARGs((
1668  CDFid id, int grzEntry, long attrNum, long *numEntries
1669 ));
1670 VISIBLE_PREFIX CDFstatus CDFgetAttrMaxEntry PROTOARGs((
1671  CDFid id, int grzEntry, long attrNum, long *maxEntry
1672 ));
1673 VISIBLE_PREFIX CDFstatus CDFgetAttrEntryDataType PROTOARGs((
1674  CDFid id, int grzEntry, long attrNum, long entryNum, long *dataType
1675 ));
1676 VISIBLE_PREFIX CDFstatus CDFgetAttrEntryNumElements PROTOARGs((
1677  CDFid id, int grzEntry, long attrNum, long entryNum, long *numElements
1678 ));
1679 VISIBLE_PREFIX CDFstatus CDFgetVarRecordData PROTOARGs((
1680  CDFid id, int zVar, long varNum, long recNum, void *buffer
1681 ));
1682 VISIBLE_PREFIX CDFstatus CDFputVarRecordData PROTOARGs((
1683  CDFid id, int zVar, long varNum, long recNum, void *buffer
1684 ));
1685 VISIBLE_PREFIX CDFstatus CDFgetVarsRecordDatabyNames PROTOARGs((
1686  CDFid id, int zVar, long numVars, char *varNames[], long recNum,
1687  void *buffer[]
1688 ));
1689 VISIBLE_PREFIX CDFstatus CDFputVarsRecordDatabyNames PROTOARGs((
1690  CDFid id, int zVar, long numVars, char *varNames[], long recNum,
1691  void *buffer[]
1692 ));
1693 VISIBLE_PREFIX CDFstatus CDFgetVarAllRecordsByVarID PROTOARGs((
1694  CDFid id, int zVar, long varNum, void *buffer
1695 ));
1696 VISIBLE_PREFIX CDFstatus CDFputVarAllRecordsByVarID PROTOARGs((
1697  CDFid id, int zVar, long varNum, long numRec, void *buffer
1698 ));
1699 VISIBLE_PREFIX CDFstatus CDFgetVarRangeRecordsByVarID PROTOARGs((
1700  CDFid id, int zVar, long varNum, long startRec, long stopRec,
1701  void *buffer
1702 ));
1703 VISIBLE_PREFIX CDFstatus CDFputVarRangeRecordsByVarID PROTOARGs((
1704  CDFid id, int zVar, long varNum, long startRec, long stopRec,
1705  void *buffer
1706 ));
1707 VISIBLE_PREFIX CDFstatus CDFgetVarAllRecordsByVarName PROTOARGs((
1708  CDFid id, char *varName, void *buffer
1709 ));
1710 VISIBLE_PREFIX CDFstatus CDFputVarAllRecordsByVarName PROTOARGs((
1711  CDFid id, char *varName, long numRecs, void *buffer
1712 ));
1713 VISIBLE_PREFIX CDFstatus CDFgetVarRangeRecordsByVarName PROTOARGs((
1714  CDFid id, char *varName, long startRec, long stopRec, void *buffer
1715 ));
1716 VISIBLE_PREFIX CDFstatus CDFputVarRangeRecordsByVarName PROTOARGs((
1717  CDFid id, char *varName, long startRec,long stopRec, void *buffer
1718 ));
1719 VISIBLE_PREFIX void CDFsetFileBackward PROTOARGs((
1720  int flag
1721 ));
1722 VISIBLE_PREFIX void CDFsetFileBackwardFlag PROTOARGs((
1723  int flag
1724 ));
1725 VISIBLE_PREFIX int CDFgetFileBackward PROTOARGs(());
1726 VISIBLE_PREFIX int CDFgetFileBackwardFlag PROTOARGs(());
1727 VISIBLE_PREFIX void CDFsetChecksumMode PROTOARGs((
1728  long flag
1729 ));
1730 VISIBLE_PREFIX long CDFgetChecksumMode PROTOARGs(());
1731 VISIBLE_PREFIX int CDFgetFileBackwardEnvVar PROTOARGs(());
1732 VISIBLE_PREFIX void CDFsetValidate PROTOARGs((long mode));
1733 VISIBLE_PREFIX int CDFgetValidate PROTOARGs(());
1734 VISIBLE_PREFIX int CDFgetValidateDebug PROTOARGs(());
1735 #if !defined(__CFM68K__) || defined(__USING_STATIC_LIBS__) || !defined(CFM68KDLL)
1737  double epoch, long *year, long *month, long *day, long *hour, long *minute,
1738  long *second, long *msec
1739 ));
1740 VISIBLE_PREFIX double computeEPOCH PROTOARGs((
1741  long year, long month, long day, long hour, long minute, long second,
1742  long msec
1743 ));
1744 VISIBLE_PREFIX double parseEPOCH PROTOARGs((char *inString));
1745 VISIBLE_PREFIX double parseEPOCH1 PROTOARGs((char *inString));
1746 VISIBLE_PREFIX double parseEPOCH2 PROTOARGs((char *inString));
1747 VISIBLE_PREFIX double parseEPOCH3 PROTOARGs((char *inString));
1748 VISIBLE_PREFIX double parseEPOCH4 PROTOARGs((char *inString));
1749 VISIBLE_PREFIX void encodeEPOCH PROTOARGs((
1750  double epoch, char epString[EPOCH_STRING_LEN+1]
1751 ));
1752 VISIBLE_PREFIX void encodeEPOCH1 PROTOARGs((
1753  double epoch, char epString[EPOCH1_STRING_LEN+1]
1754 ));
1755 VISIBLE_PREFIX void encodeEPOCH2 PROTOARGs((
1756  double epoch, char epString[EPOCH2_STRING_LEN+1]
1757 ));
1759  double epoch, char epString[EPOCH3_STRING_LEN+1]
1760 ));
1761 VISIBLE_PREFIX void encodeEPOCH4 PROTOARGs((
1762  double epoch, char epString[EPOCH4_STRING_LEN+1]
1763 ));
1764 VISIBLE_PREFIX void encodeEPOCHx PROTOARGs((
1765  double epoch, char format[EPOCHx_FORMAT_MAX],
1766  char encoded[EPOCHx_STRING_MAX]
1767 ));
1768 VISIBLE_PREFIX void EPOCH16breakdown PROTOARGs((
1769  double *epoch, long *year, long *month, long *day, long *hour,
1770  long *minute, long *second, long *msec, long *usec, long *nsec, long *psec
1771 ));
1772 VISIBLE_PREFIX double computeEPOCH16 PROTOARGs((
1773  long year, long month, long day, long hour, long minute, long second,
1774  long msec, long usec, long nsec, long psec, double *epoch
1775 ));
1776 VISIBLE_PREFIX double parseEPOCH16 PROTOARGs((char *inString,
1777  double *epoch
1778 ));
1779 VISIBLE_PREFIX double parseEPOCH16_1 PROTOARGs((char *inStringch,
1780  double *epoch
1781 ));
1782 VISIBLE_PREFIX double parseEPOCH16_2 PROTOARGs((char *inStringch,
1783  double *epoch
1784 ));
1785 VISIBLE_PREFIX double parseEPOCH16_3 PROTOARGs((char *inStringch,
1786  double *epoch
1787 ));
1788 VISIBLE_PREFIX double parseEPOCH16_4 PROTOARGs((char *inStringch,
1789  double *epoch
1790 ));
1791 VISIBLE_PREFIX void encodeEPOCH16 PROTOARGs((
1792  double *epoch, char epString[EPOCH16_STRING_LEN+1]
1793 ));
1794 VISIBLE_PREFIX void encodeEPOCH16_1 PROTOARGs((
1795  double *epoch, char epString[EPOCH16_1_STRING_LEN+1]
1796 ));
1797 VISIBLE_PREFIX void encodeEPOCH16_2 PROTOARGs((
1798  double *epoch, char epString[EPOCH16_2_STRING_LEN+1]
1799 ));
1800 VISIBLE_PREFIX void encodeEPOCH16_3 PROTOARGs((
1801  double *epoch, char epString[EPOCH16_3_STRING_LEN+1]
1802 ));
1803 VISIBLE_PREFIX void encodeEPOCH16_4 PROTOARGs((
1804  double *epoch, char epString[EPOCH16_4_STRING_LEN+1]
1805 ));
1806 VISIBLE_PREFIX void encodeEPOCH16_x PROTOARGs((
1807  double *epoch, char format[EPOCHx_FORMAT_MAX],
1808  char encoded[EPOCHx_STRING_MAX]
1809 ));
1810 /******************************************************************************
1811 * A new set of functions to handle CDF_TIME_TT2000 time type.
1812 ******************************************************************************/
1813 
1814 VISIBLE_PREFIX void CDF_TT2000_to_UTC_parts PROTOARGs((
1815  long long tt2000, double *year, double *month, double *day, ...
1816 ));
1817 VISIBLE_PREFIX long long CDF_TT2000_from_UTC_parts PROTOARGs((
1818  double year, double month, double day, ...
1819 ));
1820 VISIBLE_PREFIX double CDF_TT2000_to_UTC_EPOCH PROTOARGs((
1821  long long time
1822 ));
1823 VISIBLE_PREFIX long long CDF_TT2000_from_UTC_EPOCH PROTOARGs((
1824  double epoch
1825 ));
1826 VISIBLE_PREFIX double CDF_TT2000_to_UTC_EPOCH16 PROTOARGs((
1827  long long time, double *epoch16
1828 ));
1829 VISIBLE_PREFIX long long CDF_TT2000_from_UTC_EPOCH16 PROTOARGs((
1830  double *epoch16
1831 ));
1832 VISIBLE_PREFIX void CDF_TT2000_to_UTC_string PROTOARGs((
1833  long long time, char *string, ...
1834 ));
1835 VISIBLE_PREFIX long long CDF_TT2000_from_UTC_string PROTOARGs((
1836  char *string
1837 ));
1838 VISIBLE_PREFIX void CDFClearLeapSecondsTable PROTOARGs(());
1839 VISIBLE_PREFIX void CDFfillLeapSecondsTable PROTOARGs((
1840  double **table
1841 ));
1842 VISIBLE_PREFIX int CDFgetRowsinLeapSecondsTable PROTOARGs(());
1843 #if defined(vms)
1844 VISIBLE_PREFIX void CDFgetLastDateinLeapSecondsTBL PROTOARGs((
1845  long *year, long *month, long *day
1846 ));
1847 #else
1848 VISIBLE_PREFIX void CDFgetLastDateinLeapSecondsTable PROTOARGs((
1849  long *year, long *month, long *day
1850 ));
1851 #endif
1852 VISIBLE_PREFIX char *CDFgetLeapSecondsTableEnvVar PROTOARGs(());
1853 VISIBLE_PREFIX int CDFgetLeapSecondsTableStatus PROTOARGs(());
1854 #endif
1855 #if defined(__cplusplus)
1856 }
1857 #endif
1858 
1859 /******************************************************************************
1860 * Synonyms for compatibility with older releases.
1861 ******************************************************************************/
1862 
1863 #define CDF_DOCUMENT_LEN CDF_COPYRIGHT_LEN
1864 #define CDF_ERRTEXT_LEN CDF_STATUSTEXT_LEN
1865 #define CDF_NUMDIMS_ rVARs_NUMDIMS_
1866 #define CDF_DIMSIZES_ rVARs_DIMSIZES_
1867 #define CDF_MAXREC_ rVARs_MAXREC_
1868 #define CDF_RECNUMBER_ rVARs_RECNUMBER_
1869 #define CDF_RECCOUNT_ rVARs_RECCOUNT_
1870 #define CDF_RECINTERVAL_ rVARs_RECINTERVAL_
1871 #define CDF_DIMINDICES_ rVARs_DIMINDICES_
1872 #define CDF_DIMCOUNTS_ rVARs_DIMCOUNTS_
1873 #define CDF_DIMINTERVALS_ rVARs_DIMINTERVALS_
1874 #define CDF_NUMVARS_ CDF_NUMrVARS_
1875 #define VAR_ rVAR_
1876 #define VAR_NAME_ rVAR_NAME_
1877 #define VAR_DATATYPE_ rVAR_DATATYPE_
1878 #define VAR_NUMELEMS_ rVAR_NUMELEMS_
1879 #define VAR_RECVARY_ rVAR_RECVARY_
1880 #define VAR_DIMVARYS_ rVAR_DIMVARYS_
1881 #define VAR_NUMBER_ rVAR_NUMBER_
1882 #define VAR_DATA_ rVAR_DATA_
1883 #define VAR_HYPERDATA_ rVAR_HYPERDATA_
1884 #define VAR_SEQDATA_ rVAR_SEQDATA_
1885 #define VAR_SEQPOS_ rVAR_SEQPOS_
1886 #define VAR_MAXREC_ rVAR_MAXREC_
1887 #define VAR_DATASPEC_ rVAR_DATASPEC_
1888 #define VAR_FILLVALUE_ rVAR_PADVALUE_
1889 #define VAR_INITIALRECS_ rVAR_INITIALRECS_
1890 #define VAR_EXTENDRECS_ rVAR_BLOCKINGFACTOR_
1891 #define ATTR_MAXENTRY_ ATTR_MAXrENTRY_
1892 #define ATTR_NUMENTRIES_ ATTR_NUMrENTRIES_
1893 #define ENTRY_ rENTRY_
1894 #define ENTRY_DATATYPE_ rENTRY_DATATYPE_
1895 #define ENTRY_NUMELEMS_ rENTRY_NUMELEMS_
1896 #define ENTRY_DATA_ rENTRY_DATA_
1897 #define MIPSEL_ENCODING DECSTATION_ENCODING
1898 #define MIPSEB_ENCODING SGi_ENCODING
1899 #define rVAR_EXISTANCE_ rVAR_EXISTENCE_
1900 #define zVAR_EXISTANCE_ zVAR_EXISTENCE_
1901 #define ATTR_EXISTANCE_ ATTR_EXISTENCE_
1902 #define gENTRY_EXISTANCE_ gENTRY_EXISTENCE_
1903 #define rENTRY_EXISTANCE_ rENTRY_EXISTENCE_
1904 #define zENTRY_EXISTANCE_ zENTRY_EXISTENCE_
1905 #define GLOBAL_SCOPE_ASSUMED GLOBAL_SCOPE
1906 #define VARIABLE_SCOPE_ASSUMED VARIABLE_SCOPE
1907 #define BAD_EXTEND_RECS BAD_BLOCKING_FACTOR
1908 #define rVAR_EXTENDRECS_ rVAR_BLOCKINGFACTOR_
1909 #define zVAR_EXTENDRECS_ zVAR_BLOCKINGFACTOR_
1910 #define COL_MAJOR COLUMN_MAJOR
1911 #define NONE_CHECKSUM NO_CHECKSUM
1912 
1913 #define StrlaststrIgCase StrLaststrIgCase
1914 #define Strlaststr StrLaststr
1915 
1916 /*****************************************************************************/
1917 
1918 #endif